python reqeusts 请求时headers指定content length后 请求不响应

解释:
HTTP头部中的Content-Length字段表示请求体的大小,用字节来表示。当你在使用Python的requests库进行请求时,如果你手动设置了Content-Length,但实际发送的请求体大小与Content-Length头部声明的大小不一致,服务器可能会认为这是一个无效的请求或者导致连接超时,因此服务器不会响应。

解决方法:

确保你发送的请求体大小与Content-Length头部声明的大小完全一致。
如果你在请求中不需要发送请求体(例如GET请求),则应该移除Content-Length头部,让requests库自动计算请求体大小。
如果你需要发送请求体,并且请求体是动态生成的,确保在发送请求时请求体已经完全生成,并且大小已经固定下来,再设置Content-Length。
示例代码:

python
import requests

# 示例请求体
data = b'your request data here'
headers = {
    'Content-Type': 'application/json',
    'Content-Length': str(len(data))  # 确保长度正确
}

response = requests.post('http://example.com', data=data, headers=headers)

确保在发送请求时,请求体数据已经准备好,并且Content-Length头部的值是准确的字节长度。如果你在请求中不需要发送请求体,则不应该设置Content-Length,除非你清楚自己在做什么。

posted @   wan了个蛋  阅读(502)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具

喜欢请打赏

扫描二维码打赏

支付宝打赏

点击右上角即可分享
微信分享提示