百度你能靠谱一点吗?

写个test_link的脚本,想要只获取http头部来测试链接是否失效。想着国内百度连接速度快些吧,于是用百度测试。。

assert(test_link(“http://baidu.com/xyz") == False)

结果。。百度返回的头居然是:

 Request URL:http://www.baidu.com/xyz
 Request Method:GET
 Status Code:302 Found
 Response Headers
 Cache-Control:max-age=86400
 Connection:Keep-Alive
 Content-Length:222
 Content-Type:text/html; charset=iso-8859-1
 Date:Mon, 28 Mar 2011 11:22:25 GMT
 Expires:Tue, 29 Mar 2011 11:22:25 GMT
 Location:http://www.baidu.com/search/error.html
 Server:Apache

好吧。。。302就302吧,我们看看后面的这个http://www.baidu.com/search/error.html是什么

 Request URL:http://www.baidu.com/search/error.html
 Request Method:GET
 Status Code:200 OK

喂喂,你这明显是error啊,200是怎么回事啊!明明页面上写着

您要访问的页面不存在

返回一个200到底是怎么回事啊!难道就不能返回个404让爬虫知道吗?
百度明明是个搜索引擎,写出来的网页就让自己认识是吗。。

google就明明白白地返回一个

 Request URL:http://www.google.com/xyz
 Request Method:GET
 Status Code:404 Not Found

类似的页面还有:

http://www.baidu.com/forbiddenip/forbidden.html

百度你还能再靠谱一点吗?