fpg*_*ost 7 socket-timeout-exception python-requests
使用requestspython lib,我发出一个GET请求,并处理Timeout异常(以及我未在此处显示的其他异常),如
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
Run Code Online (Sandbox Code Playgroud)
这在大多数情况下工作正常,但有时我的程序只是完全退出错误socket.timeout: timed out,而不是抛出requests.exceptions.Timeout并被捕获和处理.
为什么请求lib的行为如此?我该怎么处理?
回答:
try:
data = sock.recv(256)
except socket.timeout:
data="NO RESPONSE"
Run Code Online (Sandbox Code Playgroud)
不会退出!
| 归档时间: |
|
| 查看次数: |
9238 次 |
| 最近记录: |