Странное поведение urllib2.urlopen () в Ubuntu 10.10 - PullRequest
1 голос
/ 06 ноября 2010

Я испытываю странное поведение с urllib2.urlopen () в Ubuntu 10.10. Первый запрос к URL идет быстро, но второй требует много времени для подключения. Я думаю, от 5 до 10 секунд. На Windows это просто работает нормально?

Кто-нибудь знает, что может вызвать эту проблему?

Спасибо, Онно

Ответы [ 2 ]

3 голосов
/ 06 ноября 2010

5 секунд звучит подозрительно, как время ожидания разрешения DNS.

Подсказка, вполне возможно, что он циклически перебирает DNS-серверы в вашем /etc/resolv.conf, и если один из них не работает, время ожидания по умолчанию для Linux составляет 5 секунд, после чего он пытается выполнить следующий, возвращаясь к вершина, когда он попробовал их всех.

Если в resolv.conf указано несколько DNS-серверов, попробуйте удалить все, кроме одного. Если это исправит это; затем после этого выясните, почему вам назначают неправильные разрешающие серверы.

1 голос
/ 06 ноября 2010

вы можете включить отладку urllib2, может быть, это поможет вам найти проблему

import urllib2

opener = urllib2.build_opener(urllib2.HTTPHandler(debuglevel=1))
opener.open('http://www.google.com')
...