要使用超时,我在下一个模式中使用请求:
r = requests.get(url, stream=True, timeout=2)
r.content()
但要使用大小限制,我需要使用流:
r = requests.get(currentUrl,stream=True)
for chunk in r.iter_content(chunk_size=1024):
buffer.extend(chunk)
if len(buffer) > 1024 * 100:
r.close()
break
在流式传输请求中,超时仅适用于连接尝试。在常规请求中,超时将应用于连接过程以及从底层套接字读取数据的所有尝试。它不适用于请求的总下载时间。
另一种选择是使用Content-Length,但并非所有网站都有此...
我的问题是如何在同一时间使用这两种限制?或者哪个适合这个包?