21.9. urllib.error — urllib.request が投げる例外

ソースコード: Lib/urllib/error.py


urllib.errorurllib.request によって投げられる例外を定義しています。基底クラスは URLError です。

urllib.error は必要に応じて以下の例外が送出します:

exception urllib.error.URLError

ハンドラが何らかの問題に遭遇した場合、この例外 (またはこの例外から派生した例外)を送出します。この例外は OSError のサブクラスです。

reason

このエラーの理由。メッセージ文字列あるいは他の例外インスタンスです。

バージョン 3.3 で変更: URLErrorIOError の代わりに OSError のサブクラスになりました。

exception urllib.error.HTTPError

HTTPError は例外 (URLError のサブクラス) ですが、同時に例外ではない file-like な戻り値を返す関数でもあります (urlopen() の戻り値と同じです)。これは、例えばサーバからの認証リクエストのように、変わった HTTP エラーを処理するのに役立ちます。

code

RFC 2616 に定義されているHTTPステータスコード。 この数値型の値は、 http.server.BaseHTTPRequestHandler.responses の辞書に登録されているコードに対応します。

reason

これは通常、このエラーの原因を説明する文字列です。

headers

HTTPError の原因となった HTTP リクエストの HTTP レスポンスヘッダ。

バージョン 3.4 で追加.

exception urllib.error.ContentTooShortError(msg, content)

この例外は urlretrieve() 関数が、ダウンロードされたデータの量が予期した量 (Content-Length ヘッダで与えられる) よりも少ないことを検知した際に発生します。 content 属性には (恐らく途中までの) ダウンロードされたデータが格納されています。