2011-11-26 51 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

相关问题