您的位置:新闻资讯 >文章内容
爬虫遇到“Request Too Long”问题如何解决
来源:本站 作者:admin 时间:2019-05-09 16:18:54

有个朋友问我,使用代理IP做爬虫的过程中,提示错误:Bad Request - Request Too Long. HTTP Error 400. The size of the request headers is too long.这个问题应该如何解决?


爬虫遇到“Request Too Long”问题如何解决


我也是第一次遇到这个问题,从字面意思来看,是请求头过长造成的,于是我让他检查下请求头。我们知道,当 IIS7/7.5 收到的请求头的长度超过16K(默认值),就会引发上面所说的那个错误。这个请求头的长度限制是由注册表(HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters)中的两个参数 MaxFieldLength(请求头) 与 MaxRequestBytes(请求头与请求体) 决定的。


所以,解决这个问题有两种方法,一是检查请求头,减小请求头的长度。二是修改注册表中的两个参数 MaxFieldLength和MaxRequestBytes。但有时候请求头的长度实在无法缩短减小,那么就只有修改注册表参数了。那么如何修改操作呢?


在注册表里找到 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters :


1. 添加类型为 DWORD(32-bit)、名为 MaxFieldLength、值为十进制32768(32K)的项目;


2. 添加类型为 DWORD(32-bit)、名为 MaxRequestBytes、值为十进制32768(32K)的项目。


添加好了是不是就是生效了呢?并没有,有两种办法让它生效:一是重启服务器,二是运行三个命令:


net stop http

net start http

iisreset

 

到此,就彻底解决了这个问题了。

相关文章内容简介
在线客服
大客户VIP渠道
点击这里给我发消息
讨论QQ群
HTTP代理IP爬虫
客服电话
13318873961