2017-07-29 87 views
-1

如何在5秒後重試相同的requests.get()? 如果連接超時超過5秒,timeout參數會自動結束程序。重試Request.get()Python

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

你可以考慮重寫HTTP請求適配器。文檔討論可以設置到會話中的Retry對象。或者你可以重試一次外部python循環..多次,如你所願。這可以嗎? – jheld

+0

但是如果請求超時,我該如何阻止程序結束? – babsdoc

+1

我相信,您可以在'try-except'塊內部運行'.get()',其中的異常是'requests.TimeoutError'。然後在那個小部分中運行'pass'。 – jheld

回答

0

如果你的問題是,requests.get不等待足夠的時間,你可以在timeout參數設置爲更多然後5秒。

如果不是這樣,因爲@jheld提,你可以採取try-except的方法,就像這樣:

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 –