1. ホーム
  2. python

Python urllib2: HTTPError の例外が発生してもコンテンツボディを読み込む?

2023-09-01 02:54:14

質問

urllib2 を使って HTTP でページを取得しています。 私のリクエストにエラーが含まれている場合、リソースがHTTPエラー400(Bad Request)を投げることがあります。 しかし、その応答には、詳細なエラーメッセージを与える XML 要素も含まれています。 urllib2 が返す HTTPError 例外だけでなく、このエラーを見ることができれば非常に便利です。

例外が発生したにもかかわらず、ドキュメントのコンテンツを返すにはどうしたらよいでしょうか。

どのように解決するのですか?

エラーを応答として扱うことができます。

http://www.voidspace.org.uk/python/articles/urllib2.shtml#httperror

<ブロッククオート

エラーが発生した場合、サーバーは はHTTPエラーコードとエラーページを返すことで応答します。 コードとエラーページを返します。レスポンスとして HTTPErrorインスタンスをレスポンスとして使用できます。 を返されたページで使用できます。これは、以下のことを意味します。 は、code 属性だけでなく は read、geturl、info の各メソッドを持っています。