Python请求:计算请求的完整大小

Python请求:计算请求的完整大小,python,request,Python,Request,如何获取与Python请求一起发送的请求的完整大小(我不要求响应) 我是否应该简单地添加正文(如果适用)和标题的长度? 对于请求元素,是否需要考虑更多的因素 这适用于任何请求发送(获取、发布、删除),我希望计算其大小。简短回答-请求大小主要是方法、URL、标题和正文(如果适用)的大小之和,因此近似为: import requests response = requests.get('https://httpbin.org/get') method_len = len(response.req

如何获取与Python请求一起发送的请求的完整大小(我不要求响应)
我是否应该简单地添加
正文
(如果适用)和
标题的长度

对于请求元素,是否需要考虑更多的因素


这适用于任何请求发送(获取、发布、删除),我希望计算其大小。

简短回答-请求大小主要是方法、URL、标题和正文(如果适用)的大小之和,因此近似为:

import requests

response = requests.get('https://httpbin.org/get')

method_len = len(response.request.method)
url_len = len(response.request.url)
headers_len = len('\r\n'.join('{}{}'.format(k, v) for k, v in response.request.headers.items()))
body_len = len(response.request.body if response.request.body else [])

print(f'Request size {method_len + url_len + headers_len + body_len}')
如果还有更多的问题,请发表评论

资源:

RFC文件

请求
库存储库成员响应:

@在他提到的地方对这个问题发表评论


关于URI的问题:

这是一个post请求吗?如果是post请求,那么您可以通过“完整大小”从Headers获取请求的长度。您是说收到的HTTP的长度吗?@堆栈任何请求(post、get、DELETE、HEAD)@pbaranski检查此项