我将此请求发送到google.com,
GET /HTTP/1.1
主持人:www.google.com
连接:保持活力
缓存控制:max-age = 0
User-Agent:Mozilla / 5.0(Macintosh; Intel Mac OS X 10_6_8)AppleWebKit / 535.1(KHTML,like Gecko)Chrome / 14.0.835.186 Safari / 535.1
接受:text / html,application / xhtml + xml,application / xml; q = 0.9, / ; q = 0.8
Accept-Encoding:gzip,deflate,sdch
接受语言:en-US,en; q = 0.8
Accept-Charqet:ISO-8859-1,utf-8; q = 0.7,*; q = 0.3
Cookie:NID = 51 = XHrnCh-WA2BjwFpfjavZ1dxy6JT98N0ojBEtkxBnP9uUEr3cLvm2ETGlr0q0JhWWcgth-z7Dm7J0NU-UpA77SiDtF2rh1DhzRRToW1jA0Ia7HmOzFepL9TdIW9MDacAK;了rememberMe = TRUE; PREF = ID = 5a917ae1d013ee33:U = 8c5a025c53669947:FF = 0:TM = 1317242244:LM = 1317291115:GM = 1:S = n1cOehpkL6SuVhsK
我从谷歌得到这个回复:
我们很抱歉......但您的计算机或网络可能正在发送自动查询。为了保护我们的用户,我们目前无法处理您的请求
为什么我会得到这个答案?我该如何解决这个问题?
答案 0 :(得分:0)
你得到了这个答案,因为谷歌有一个自动反机器人服务,试图检测自动查询。
要解决这个问题,您需要确定查询的哪个部分正在触发反僵尸保护。在您的情况下,最好的办法可能只是与Google支持人员取得联系,或者尝试使用Google帮助论坛:http://www.google.com/support/forum
答案 1 :(得分:0)
您的请求行中的路径和版本之间似乎缺少空格。以下应该有效:
GET / HTTP/1.1
您的某个标题中也有一个拼写错误,Accept-Charqet
而不是Accept-Charset
。
最后,您的标头之间会有额外的换行符,这会阻止HTTP服务器正确解释您的请求。您应该在每个标题后面加\r\n
(回车,换行符),并在标题与请求正文之间分隔\r\n
。
更正后的请求如下:
GET / HTTP/1.1
Host: www.google.com
Connection: keep-alive
Cache-Control: max-age=0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.186 Safari/535.1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
Cookie: NID=51=XHrnCh-WA2BjwFpfjavZ1dxy6JT98N0ojBEtkxBnP9uUEr3cLvm2ETGlr0q0JhWWcgth-z7Dm7J0NU-UpA77SiDtF2rh1DhzRRToW1jA0Ia7HmOzFepL9TdIW9MDacAK; rememberme=true; PREF=ID=5a917ae1d013ee33:U=8c5a025c53669947:FF=0:TM=1317242244:LM=1317291115:GM=1:S=n1cOehpkL6SuVhsK
每行以\r\n
结尾,并且末尾有一个以\r\n
结尾的空行。