2017-07-29 12 views
-1

5秒後に同じrequests.get()を再試行するにはどうすればよいですか? 接続がタイムアウト(5秒以上)された場合、timeout引数はプログラム自体を終了します。あなたの問題はrequests.getは十分な時間を待たないということであればRetry Request.get()Python

page2 = requests.get(url, timeout=5.000) 
+1

。ドキュメントでは、セッションに設定できるRetryオブジェクトについて説明します。または、ちょうどあなたが望むように外側のpythonループ..何度も再試行することができます。それは大丈夫ですか? – jheld

+0

しかし、要求がタイムアウトするとプログラムが終了しないようにするにはどうすればよいですか? – babsdoc

+1

例外が 'requests.TimeoutError'の場合、' try-except'ブロックの中で '.get()'を実行することができます。その後、その小さなセクションで 'pass'を実行します。 – jheld

答えて

0

は、あなたはもっとして5秒にtimeout引数を設定することができます。

ない場合は、@jheld言及として、あなたはこのように、try-exceptのアプローチを取ることができます:あなたはhttpリクエストアダプタをオーバーライドに見ることができます

response = None 
try: 
    response = requests.get(SITE_URL, timeout=5) 
except requests.exceptions.Timeout: 
    try: 
     response = requests.get(SITE_URL, timeout=5) 
    except requests.exceptions.Timeout: 
     pass 
+0

@jheld入力に基づいて解決されます。私はタイムアウトパラメータを必要としませんでした。多くのありがとうございましたjheldとyuval – babsdoc

+0

この回答が参考になった場合は、将来のユーザーがこの回答から学ぶために受け入れてください@babsdoc –

関連する問題