Почему в моем скрипте Python висит запрос http? - PullRequest
0 голосов
/ 26 ноября 2011

Один из моих скриптов отлично работает в системе XP, но точный скрипт зависает в системе 2003 года. Я всегда использую mechanize для отправки запроса http, вот пример:

import socket, mechanize, urllib, urllib2

socket.setdefaulttimeout(60) #### No idea why it's not working

MechBrowser = mechanize.Browser()
Header = {'User-Agent': 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.8) Gecko/20100722 Firefox/3.6.8 GTB7.1 (.NET CLR 3.5.30729)', 'Referer': 'http://www.porn-w.org/ucp.php?mode=login'}
Request = urllib2.Request("http://google.com", None, Header)
Response = MechBrowser.open(Request)

Я не думаю, что с моим кодом что-то не так, но каждый раз, когда речь идет об определенном HTTP-запросе POST к определенному URL-адресу, он зависает на этом компьютере 2003 года (только на этом URL-адресе). Что может быть причиной всего этого и как мне отлаживать?

Кстати, скрипт работает нормально до нескольких часов назад. И никакие настройки не меняются.

1 Ответ

2 голосов
/ 26 ноября 2011

Вы можете использовать Fiddler или Wire Shark , чтобы увидеть, что происходит на уровне HTTP.

Также стоит проверить, не заблокирован ли аппарат для отправки запросов к машине, к которой вы пытаетесь получить доступ.Используйте обычный браузер (с вашей собственной HTML-формой) и библиотеку HTTP, используемую Mechanize, и посмотрите, сможете ли вы создать запрос вручную.Скрипач также может помочь вам в этом.

...