2011-11-26 46 views
0

我的一個腳本在XP系統上完美運行,但確切的腳本掛在2003系統上。我總是用機械化來發送HTTP請求,這裏有一個例子:爲什麼http請求掛在我的python腳本中?

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年的計算機上(只在該網址上)。這可能是什麼原因,我應該如何調試?

順便說一句,腳本運行好幾個小時前。並沒有改變設置。

回答

2

您可以使用FiddlerWire Shark來查看HTTP級別正在發生的事情。

另外值得看看機器是否被阻止向您試圖訪問的機器發出請求。使用常規瀏覽器(使用您自己的HTML表單)以及Mechanize使用的HTTP庫,查看是否可以手動構建請求。提琴手也可以幫助你做到這一點。

+1

非常感謝! – Shane

相關問題