# 11.6 `httplib` -- HTTP プロトコルクライアント

このモジュールでは HTTP および HTTPS プロトコルのクライアント側 を実装しているクラスを定義しています。このモジュールは通常直接 使われることはありません -- モジュール `urllib` は HTTP や HTTPS を 使う URL を扱うためにこのモジュールを使います。 注意: HTTPS のサポートは `socket` モジュールが SSL を サポートするようにコンパイルされている場合のみ利用できます。

このモジュールで定義されている定数は以下の通りです:

`HTTP_PORT`
  HTTP プロトコルの標準のポート (通常は `80`) です。

`HTTPS_PORT`
  HTTPS プロトコルの標準のポート (通常は `443`) です。

このモジュールでは以下のクラスを提供しています:

class `HTTPConnection`( | host[, port])

  `HTTPConnection` インスタンスは、HTTP サーバとの一回の トランザクションを表現します。インスタンスの生成はホスト名と オプションのポート番号を与えて行います。ポート番号が与えられ なかった場合、ホスト名文字列が `host:port` の形式であれば、ホスト名からポート番号を導き、そうでない 場合には標準の HTTP ポート番号 (80) が使われます。例えば、 以下の呼び出しは全て同じサーバの同じポートに接続するインスタンス を生成します:

      >>> h1 = httplib.HTTPConnection('www.cwi.nl')
      >>> h2 = httplib.HTTPConnection('www.cwi.nl:80')
      >>> h3 = httplib.HTTPConnection('www.cwi.nl', 80)

class `HTTPSConnection`( | host[, port, key_file, cert_file])

  `HTTPConnection` のサブクラスで、セキュアなサーバと 通信するために SSL を使います。標準のポート番号は `443` です。 key_fileには、秘密鍵を格納したPEM形式ファイルのファイル名を指定します。cert_fileには、PEM形式の証明書チェーンファイルを指定します。

  警告: この関数は証明書の検査を行いません！

必要に応じて以下の例外が送出されます:

exception `HTTPException`
  このモジュールにおける他の例外クラスの基底クラスです。 `Exception` のサブクラスです。

exception `NotConnected`
  `HTTPException` サブクラスです。

exception `InvalidURL`
  `HTTPException` のサブクラスで、ポート番号が与えられて いるが、その値が数字でなかったり空のオブジェクトの場合に送出 されます。

exception `UnknownProtocol`
  `HTTPException` のサブクラスです。

exception `UnknownTransferEncoding`
  `HTTPException` のサブクラスです。

exception `IllegalKeywordArgument`
  `HTTPException` のサブクラスです。

exception `UnimplementedFileMode`
  `HTTPException` のサブクラスです。

exception `IncompleteRead`
  `HTTPException` のサブクラスです。

exception `ImproperConnectionState`
  `HTTPException` のサブクラスです。

exception `CannotSendRequest`
  `ImproperConnectionState` のサブクラスです。

exception `CannotSendHeader`
  `ImproperConnectionState` のサブクラスです。

exception `ResponseNotReady`
  `ImproperConnectionState` のサブクラスです。

exception `BadStatusLine`
  `HTTPException` のサブクラスです。 サーバが理解できない HTTP 状態コードで応答した場合に送出されます。