参考サイト:【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
の例外を発生します。全ての例外は、
equests-docs-ja.readthedocs.io/en/latest/user/quickstart/#id12requests.exceptions.RequestException
を継承して明示的に発生させます。
・・・頭に入ってこない。
「from requests.exceptions import Timeout」は以下のサイトのソースコードの「Timeout」の部分をインポートしましたよ という意味なのかな。
○requests.exceptionsのソースコード
try文
try:
例外が発生する可能性ある処理
except (例外クラス):
例外が発生した時の処理
pass 何も処理を実行しない。
以下の写真ではtimeoutの時間を短くしてエラーを発生させています。
うまくいっているように見えるけど、これでいいのかな。
「from requests.exceptions import Timeout」の有無で何が変わるのだろうか?以下のコードではだめなのだろうか?
#import requests
try:
response = requests.get(url,timeout=3,)
except:
print("requests時にエラーが発生しました。")