##
1 HTTPConnection オブジェクト

`HTTPConnection` インスタンスには以下のメソッドがあります:

`request`( | method, url[, body[, headers]])

  このメソッドは、 HTTP 要求メソッド method およびセレクタ url を使って、要求をサーバに送ります。body 引数を指定する場合、 ヘッダが終了した後に送信する文字列データでなければなりません。 ヘッダの Content-Length は自動的に正しい値に設定されます。 headers 引数は要求と同時に送信される拡張 HTTP ヘッダの内容からなる マップ型でなくてはなりません。

`getresponse`( | )

  サーバに対して HTTP 要求を送り出した後に呼び出されなければりません。 要求に対する応答を取得します。`HTTPResponse` インスタンスを 返します。 注意: すべての応答を読み込んでからでなければ新しい要求をサーバに送ること はできないことに注意しましょう。

`set_debuglevel`( | level)

  デバッグレベル (印字されるデバッグ出力の量) を設定します。 標準のデバッグレベルは `0` で、デバッグ出力を全く印字 しません。

`connect`( | )

  オブジェクトを生成するときに指定したサーバに接続します。

`close`( | )

  サーバへの接続を閉じます。

上で説明した`request()`メソッドを使うかわりに、以下の4つの関数を 使用して要求をステップバイステップで送信することもできます。

`putrequest`( | request, selector[, skip_host[, skip_accept_encoding]])

  サーバへの接続が確立したら、最初にこのメソッドを呼び出さなくては なりません。このメソッドは request 文字列、selector 文字列、 そして HTTP バージョン (`HTTP/1.1`) からなる一行を送信します。 `Host:` や`Accept-Encoding:` ヘッダの自動送信を無効にしたい 場合 (例えば別のコンテンツエンコーディングを受け入れたい場合) には、 skip_host や skip_accept_encoding を偽でない値に設定 してください。

`putheader`( | header, argument[, ...])

  RFC 822 形式のヘッダをサーバに送ります。この処理では、header、 コロンとスペース、そして最初の引数からなる 1 行をサーバに送ります。 追加の引数を指定した場合、継続して各行にタブ一つと引数の入った引数行が 送信されます。

`endheaders`( | )

  サーバに空行を送り、ヘッダ部が終了したことを通知します。

`send`( | data)

  サーバにデータを送ります。このメソッドは `endheaders()` が呼び出された直後で、かつ `getreply()` が呼び出される 前に使わなければなりません。