如何使用超时和最大内容大小进行HTTP请求?

12 浏览
0 Comments

如何使用超时和最大内容大小进行HTTP请求?

为了使用超时功能,我使用requests库的以下方法:\n

import requests
r = requests.get(url, stream=True, timeout=2)
r.content()

\n但是为了使用大小限制,我需要使用stream模式:\n

import requests
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

\n在流式请求中,超时仅适用于连接尝试。在常规请求中,超时适用于连接过程以及从底层套接字读取数据的所有尝试。它不适用于请求的总下载时间。\n另一个选项是使用Content-Length,但并非所有网站都具有此功能...\n我的问题是如何同时使用这两个限制?或者哪个库适合这个需求?

0