urllib2正在为网址引发错误,而它在浏览器中正常打开

时间:2011-03-08 15:59:12

标签: python urllib2

我正试图像这样通过python打开一个网址

  import urllib2
  f = urllib2.urlopen('http://www.futurebazaar.com/Search/laptop')

抛出以下错误

  

文件“C:\ Python26 \ lib \ urllib2.py”,   第1134行,在do_open中       r = h.getresponse()文件“C:\ Python26 \ lib \ httplib.py”,行   986,在getresponse中       response.begin()文件“C:\ Python26 \ lib \ httplib.py”,行   391,开始       版本,状态,原因= self._read_status()文件   “C:\ Python26 \ lib \ httplib.py”,行   355,在_read_status中       提高BadStatusLine(行)httplib.BadStatusLine

但是这个网址是通过浏览器打开的。

1 个答案:

答案 0 :(得分:5)

网站坏了。如果未提供可选的“Accept”标头,则站点将关闭连接而不响应;这是无效的行为。

解决方法:

import urllib2
req = urllib2.Request('http://www.futurebazaar.com/Search/laptop')
req.add_header('Accept', '*/*')
f = urllib2.urlopen(req)