原始响应的大小(以字节为单位

时间:2014-07-11 00:41:18

标签: python python-requests

我需要发出HTTP请求并确定响应大小(以字节为单位)。我总是使用request来处理简单的HTTP请求,但我想知道我是否可以使用raw来实现这一点?

>>> r = requests.get('https://github.com/', stream=True)
>>> r.raw

我唯一的问题是我不明白原始返回或我如何计算这个数据类型的字节数?是使用request和原始的正确方法吗?

2 个答案:

答案 0 :(得分:21)

只需获取回复内容的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

答案 1 :(得分:2)

r.rawurllib3.response.HTTPResponse的一个实例。我们可以通过查找响应的标头Content-length或使用内置函数len()来计算响应的长度。