18.7.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_hostskip_accept_encoding を偽でない値に設定 してください。

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

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

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

ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。