先说解决方法:
去掉你请求头中的 Content-Length
在scrapy的过程中发送请求的时候,你会发现特别是post请求很多时候会报400的错误,明明同样的请求在requests中能请求成功,你尝试了scrapy.Request, scrapy.http.Request, scrapy.FormRequest都还是报这个错误,于是开始怀疑scrapy是不是有问题。
是的,scrapy是有问题的,因为它在背后默默做了一些操作,不像requests那么简洁,很多时候post请求都是因为你的请求头中 Content-Length这个字段造成的,把它这个参数去掉即可请求成功。
这个时候还有个疑问没有解除,那就是为何Content-Length这个字段为什么在requests中存在可以请求成功,而在scrapy中存在的话就不能请求成功呢
网友评论