urllib2 モジュールは基本的な認証、暗号化認証、リダイレクション、 クッキー、その他の介在する複雑なアクセス環境において (大抵は HTTP で) URL を開くための関数とクラスを定義します。
urllib2 モジュールでは以下の関数を定義しています:
url[, data]) |
data はサーバに送信する追加のデータを示す文字列か、 そのようなデータが無ければNoneを指定します。 現時点でHTTP リクエストは data をサポートする唯一のリクエスト形式 です; data パラメタが指定が指定された場合、HTTP リクエストは GET でなく POST に なります。 data は標準的な application/x-www-form-urlencoded 形式の バッファでなくてはなりません。 urllib.urlencode() 関数は マップ型か2タプルのシーケンスを取り、この形式の文字列を返します。
この関数は以下の 2 つのメソッドを持つファイル類似のオブジェクトを返します:
エラーが発生した場合 URLError を送出します。
どのハンドラもリクエストを処理しなかった場合には None
を
返すことがあるので注意してください (デフォルトでインストールされる
グローバルハンドラの OpenerDirector は、UnknownHandler
を使って上記の問題が起きないようにしています)。
opener) |
[handler, ...]) |
ProxyHandler, UnknownHandler, HTTPHandler, HTTPDefaultErrorHandler, HTTPRedirectHandler, FTPHandler, FileHandler, HTTPErrorProcessor
については、そのクラスの インスタンスか、そのサブクラスのインスタンスが handler に含まれていない限り、handler よりも先に連鎖します。
Python が SSL をサポートするように設定してインストールされている 場合 (socket.ssl() が存在する場合) 、 HTTPSHandler も追加されます。
Python 2.3 からは、BaseHandler サブクラスでも handler_order メンバ変数を変更して、ハンドラリスト 内での場所を変更できるようになりました。
状況に応じて、以下の例外が送出されます:
URLError のサブクラスです。この例外は Gopher ハンドラに よって送出されます。
以下のクラスが提供されています:
url[, data][, headers] [, origin_req_host][, unverifiable]) |
url は有効な URL を指す文字列でなくてはなりません。
data はサーバに送信する追加のデータを示す文字列か、 そのようなデータが無ければNoneを指定します。 現時点でHTTP リクエストは data をサポートする唯一のリクエスト形式 です; data パラメタが指定が指定された場合、HTTP リクエストは GET でなく POST に なります。 data は標準的な application/x-www-form-urlencoded 形式の バッファでなくてはなりません。 urllib.urlencode() 関数は マップ型か2タプルのシーケンスを取り、この形式の文字列を返します。
headers は辞書でなくてはなりません。 この辞書は add_header() を辞書のキーおよび値を引数として呼び出した時と 同じように扱われます。
最後の二つの引数は、サードパーティの HTTP クッキーを正しく扱いたい 場合にのみ関係してきます:
origin_req_host は、RFC 2965 で定義されている
元のトランザクションにおけるリクエストホスト (request-host of the
origin transaction) です。デフォルトの値は
cookielib.request_host(self)
です。
この値は、ユーザによって開始された元々のリクエストにおける
ホスト名や IP アドレスです。例えば、もしリクエストがある HTML
ドキュメント内の画像を指していれば、この値は
画像を含んでいるページへのリクエストにおけるリクエストホストに
なるはずです。
unverifiable は、RFC 2965 の定義において、該当するリクエストが 証明不能 (unverifiable) であるかどうかを示します。デフォルトの値は False です。証明不能なリクエストとは、ユーザが受け入れの可否を選択 できないような URL を持つリクエストのことです。例えば、リクエストが HTML ドキュメント中の画像であり、ユーザがこの画像を自動的に取得するか どうかを選択できない場合には、証明不能フラグは True になります。
) |
) |
) |
) |
[cookiejar]) |
[proxies]) |
) |
(realm, uri) -> (user, password)
の対応付けデータベースを保持します。
) |
(realm, uri) -> (user, password)
の対応付けデータベースを保持します。
レルム None
はその他諸々のレルムを表し、他のレルムが
該当しない場合に検索されます。
[password_mgr]) |
[password_mgr]) |
[password_mgr]) |
[password_mgr]) |
[password_mgr]) |
[password_mgr]) |
) |
) |
) |
) |
) |
) |
) |