Pythonのurllibメソッド error.HTTPError

urllib.error.HTTPError は、Pythonの urllib モジュールで提供される例外クラスの一つです。HTTPリクエストに関連するエラーが発生した際にこの例外が発生します。通常、HTTPリクエストを送信した結果、サーバーからのエラーレスポンス(HTTPステータスコードがエラーを示す)が返された場合に HTTPError が発生します。

HTTPError は以下のように使用されます:

python
import urllib.request import urllib.error url = 'https://example.com/nonexistent_page' try: response = urllib.request.urlopen(url) # レスポンスを処理 print(response.read().decode('utf-8')) except urllib.error.HTTPError as e: print(f"HTTPエラーが発生しました: {e.code} {e.reason}") # ここでエラーを処理するためのコードを追加

上記のコードでは、urlopen() メソッドで存在しないページをリクエストした結果、HTTP 404 エラーが発生し、HTTPError が発生します。この例外は、HTTPエラーの情報を提供し、それに応じてエラーハンドリングを行うために使用されます。

HTTPError オブジェクトは、いくつかの重要な属性を持っており、以下のような情報を提供します:

  • code: HTTPステータスコード(例: 404、401)
  • reason: ステータスコードに対応するテキスト理由(例: “Not Found"、"Unauthorized")
  • headers: レスポンスヘッダーの辞書
  • url: リクエストが送信されたURL

HTTPError をキャッチして、エラーレスポンスの情報を取得し、エラーハンドリングのための適切な措置を取ることができます。これは、HTTPリクエストに関連するエラーを処理する際に非常に役立ちます。