scrapy post发送请求是报400响应码的问题

本文介绍了解决Scrapy框架中POST请求返回400错误的方法,通过去除请求头中的Content-Length字段来避免这一问题。解释了为何在requests库中此字段的存在不影响请求,而在Scrapy中则会导致失败。

先说解决方法:

去掉你请求头中的 Content-Length

在scrapy的过程中发送请求的时候,你会发现特别是post请求很多时候会报400的错误,明明同样的请求在requests中能请求成功,你尝试了scrapy.Request,   scrapy.http.Request,  scrapy.FormRequest都还是报这个错误,于是开始怀疑scrapy是不是有问题。

是的,scrapy是有问题的,因为它在背后默默做了一些操作,不像requests那么简洁,很多时候post请求都是因为你的请求头中 Content-Length这个字段造成的,把它这个参数去掉即可请求成功。

这个时候还有个疑问没有解除,那就是为何Content-Length这个字段为什么在requests中存在可以请求成功,而在scrapy中存在的话就不能请求成功呢

原因:

待续...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值