ホームページ >バックエンド開発 >Python チュートリアル >Python のリクエスト モジュールを使用するときにエラーを適切に処理するにはどうすればよいですか?

Python のリクエスト モジュールを使用するときにエラーを適切に処理するにはどうすればよいですか?

DDD
DDDオリジナル
2024-11-12 11:54:02440ブラウズ

How to Handle Errors Gracefully When Using Python's Requests Module?

Python のリクエスト モジュールでエラーをキャッチする

リクエスト モジュールを使用して HTTP リクエストを行う場合、エラーを適切に処理することが重要です。 Try/Except 構造を使用すると、エラーをキャプチャして適切に応答できます。

try/Except の正しい使用法

リクエストをキャッチするために Try/Except を使用した例。ConnectionError正しいですが、限定的です。ネットワーク関連の問題はキャプチャされますが、タイムアウトやリダイレクトが多すぎるなどの他のエラー タイプはカバーされません。

すべての例外をカバー

すべてのリクエストをキャッチするには-関連するエラーの場合は、基本クラスの例外を使用できます。 request.Exceptions.RequestException:

try:
    r = requests.get(url, params={'s': thing})
except requests.exceptions.RequestException as e:
    # Handle the error accordingly

特定のエラーの処理

または、特定のエラー タイプを個別にキャッチすることもできます:

try:
    r = requests.get(url, params={'s': thing})
except requests.exceptions.Timeout:
    # Retry or continue in a retry loop
except requests.exceptions.TooManyRedirects:
    # Prompt the user to correct the URL
except requests.exceptions.RequestException as e:
    # Handle catastrophic errors

HTTP のキャッチエラー

HTTP エラー コード (401 Unauthorized など) の例外を発生させたい場合は、リクエストを行った後に Response.raise_for_status() を呼び出します。

try:
    r = requests.get('http://www.google.com/nothere')
    r.raise_for_status()
except requests.exceptions.HTTPError as err:
    # Handle the HTTP error

適切なメソッドを実装することで、エラー処理により、スクリプト/プログラムが HTTP リクエスト中に発生したさまざまなエラーに効果的に応答できるようになります。

以上がPython のリクエスト モジュールを使用するときにエラーを適切に処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。