Я испытываю странное поведение с urllib2.urlopen() на Ubuntu 10.10. Первый запрос к URL-адресу идет быстро, а второй занимает много времени для подключения. Я думаю, от 5 до 10 секунд. В окнах это работает нормально?
Есть ли у кого-нибудь идеи, что может вызвать эту проблему?
Спасибо, Онно
5 секунд звучит подозрительно, как тайм-аут разрешения DNS.
Догадка. Возможно, что он циклически перемещается через DNS-серверы в вашем /etc/resolv.conf
, и если один из них поврежден, по умолчанию тайм-аут составляет 5 секунд на linux, после чего он попытается выполнить следующий, возвращаясь к наверх, когда он попробовал их все.
Если у вас несколько серверов DNS, перечисленных в файле resolv.conf, попробуйте удалить все, кроме одного. Если это исправлено; затем после этого посмотрите, почему вам назначаются неверные разрешающие серверы.
вы можете включить отладку urllib2, возможно, это поможет вам выяснить проблему.
import urllib2
opener = urllib2.build_opener(urllib2.HTTPHandler(debuglevel=1))
opener.open('http://www.google.com')