使用requests
蟒蛇lib下,我做一個GET請求,並處理超時異常(以及其他異常我不顯示在這裏)像套接字超時:超時蟒蛇請求
import requests
timeout1=20
timeout2=40
try:
#first attempt
resp = requests.get(base_url+resource, params=payload, headers=headers,
timeout=timeout1)
except requests.exceptions.Timeout:
#timed out, retry once
try:
resp = requests.get(base_url+resource, params=payload, headers=headers,
timeout=timeout2)
return resp.json()
except requests.exceptions.RequestException as e:
#Still failed; return error code
return -1
該作品大多數情況下都是這樣,但是有時候我的程序完全退出,出現錯誤socket.timeout: timed out
,而不是拋出requests.exceptions.Timeout
,並且這個被捕獲和處理。
爲什麼請求庫的行爲如此?我該如何處理?
您是否找到了解決此問題的答案? – user2801184
這裏是答案:嘗試: data = sock.recv(256) 除了socket.timeout: data =「NO RESPONSE」 – user2801184