Ошибка тайм-аута соединения urllib2 - PullRequest
3 голосов
/ 07 июля 2010

Я пытаюсь открыть страницу, используя urllib2, но получаю сообщения об ошибках тайм-аута соединения.
Строка, которую я использую: f = urllib2.urlopen(url)

Точная ошибка:

URLError: <urlopen error [Errno 110] Connection timed out>

Ответы [ 2 ]

4 голосов
/ 05 августа 2010

urllib2 уважает robots.txt.Многие сайты по умолчанию блокируют User-Agent.

Попробуйте добавить новый User-Agent, создав Request объекты и используя их в качестве аргументов для urlopen:

import urllib2

request = urllib2.Request('http://www.example.com/')
request.add_header('User-agent', 'Mozilla/5.0 (Linux i686)')

response = urllib2.urlopen(request)

Несколько подробныхдоступны прогоны, такие как http://www.doughellmann.com/PyMOTW/urllib2/

0 голосов
/ 05 августа 2010

Как общая стратегия, откройте wireshark и наблюдайте за трафиком, генерируемым urllib2.urlopen(url).Возможно, вы сможете увидеть, откуда исходит ошибка.

...