我需要发出一个HTTP请求并确定响应大小(以字节为单位)。我一直使用request简单的HTTP请求,但是我想知道我是否可以使用raw来实现这一点?
request
>>> r = requests.get('https://github.com/', stream=True) >>> r.raw
我唯一的问题是我不了解什么原始返回值或如何计算此数据类型的字节数?使用request原始方法是正确的吗?
只需考虑len()响应的内容:
len()
>>> response = requests.get('https://github.com/') >>> len(response.content) 51671
如果要保持流传输(例如,如果内容太大),则可以遍历数据块并求和它们的大小:
>>> with requests.get('https://github.com/', stream=True) as response: ... size = sum(len(chunk) for chunk in response.iter_content(8196)) >>> size 51671