urllib2 выдает ошибку для URL, пока он правильно открывается в браузере - PullRequest
0 голосов
/ 08 марта 2011

Я пытаюсь открыть URL через 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, в ответ Файл response.begin () "C: \ Python26 \ lib \ httplib.py", строка 391, в начале версия, статус, причина = файл self._read_status () "C: \ Python26 \ lib \ httplib.py", строка 355, в _read_status поднять BadStatusLine (строка) httplib.BadStatusLine

Но этот URL открывается через браузер.

1 Ответ

5 голосов
/ 08 марта 2011

Сайт не работает. Если необязательный заголовок «Принять» не указан, сайт закрывает соединение без ответа; это недопустимое поведение.

Обход:

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