【requests】time outした場合の表示設定【文法まとめ付き!】

  • 2021-02-14
  • 2022-02-22
  • python
  • 1873view

参考サイト:【Python】requestsを使うときは必ずtimeoutを設定するべき

from requests.exceptions import Timeout
try:
r = requests.get('https://blog.cosnomi.com', timeout=3.5)
except Timeout:
# エラーページを表示させるなどの処理
pass

「from requests.exceptions import Timeout」とは何を意味するのか?

稀に不正なHTTPレスポンスがあった時に、Requestsは HTTPError の例外を発生します。

リクエストがタイムアウトした場合、 Timeout の例外を発生します。

リクエストが設定されたリダイレクトの最大数超えた場合TooManyRedirects の例外を発生します。

全ての例外は、 requests.exceptions.RequestException を継承して明示的に発生させます。

equests-docs-ja.readthedocs.io/en/latest/user/quickstart/#id12

・・・頭に入ってこない。
「from requests.exceptions import Timeout」は以下のサイトのソースコードの「Timeout」の部分をインポートしましたよ という意味なのかな。
requests.exceptionsのソースコード

try文

try:

  例外が発生する可能性ある処理
except (例外クラス):
  例外が発生した時の処理
pass  何も処理を実行しない。

以下の写真ではtimeoutの時間を短くしてエラーを発生させています。

from requests.exceptions import Timeout

うまくいっているように見えるけど、これでいいのかな。
「from requests.exceptions import Timeout」の有無で何が変わるのだろうか?以下のコードではだめなのだろうか?

#import requests
try:
    response = requests.get(url,timeout=3,)
except:
    print("requests時にエラーが発生しました。")

timeout python
ツイートもチェックしよう!