超时设置的Python requests.get请求的完整响应
超时设置的Python requests.get请求的完整响应
我正在收集一些网站的统计数据,为了简便起见,我使用了requests库。这是我的代码:
data=[] websites=['http://google.com', 'http://bbc.co.uk'] for w in websites: r= requests.get(w, verify=False) data.append( (r.url, len(r.content), r.elapsed.total_seconds(), str([(l.status_code, l.url) for l in r.history]), str(r.headers.items()), str(r.cookies.items())) )
现在,我希望requests.get
在10秒后超时,这样循环就不会被卡住。
这个问题以前也引起过兴趣,但没有一个干净的答案。
我听说不使用requests库也许是一个好主意,但那么我应该如何获得requests库提供的好东西(元组中的那些)。
admin 更改状态以发布 2023年5月21日
设置超时参数:
r = requests.get(w, verify=False, timeout=10) # 10 seconds
版本2.25.1中的更改
以上代码将在连接或读取之间的延迟大于十秒时导致requests.get()
调用超时。参见:https://requests.readthedocs.io/en/stable/user/advanced/#timeouts