urllib.error --- urllib.request によって送出される例外クラス

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


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

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

exception urllib.error.URLError

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

reason

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

バージョン 3.3 で変更: URLError は以前は IOError のサブタイプでしたが、 OSError のエイリアスになりました。

exception urllib.error.HTTPError(url, code, msg, hdrs, fp)

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

url

リクエスト URL を含みます。 filename 属性のエイリアスです。

code

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

reason

これは通常、このエラーの原因を説明する文字列です。 msg 属性のエイリアスです。

headers

HTTPError の原因となった HTTP リクエストの HTTP レスポンスヘッダ。 hdrs 属性のエイリアスです。

Added in version 3.4.

fp

HTTP エラーの body を読み出し可能なファイルライクオブジェクト。

exception urllib.error.ContentTooShortError(msg, content)

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

content

ダウンロードされた、 (おそらく切り捨てられた) データ。