Bra*_*rad 2 python python-requests
我正在使用 Python 请求模块获取一批 url。我首先只想读取它们的标头,以获取实际的 url 和响应大小。然后我会得到任何通过集合的实际内容。
所以我使用“streams=True”来延迟获取内容。这通常工作得很好。
但我偶尔会遇到一个没有响应的网址。所以我设置了超时=3。
但那些永远不会超时。他们只是挂着。如果我删除“streams=True”,它会正确超时。是否有某种原因导致流和超时不能一起工作?删除streams=True迫使我获取所有内容。
这样做:
import requests
url = 'http://bit.ly/1pQH0o2'
x = requests.get(url) # hangs
x = requests.get(url, stream=True) # hangs
x = requests.get(url, stream=True, timeout=1) # hangs
x = requests.get(url, timeout=3) # times out correctly after 3 seconds
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5833 次 |
| 最近记录: |