python - 为什么http请求卡在我的python脚本中?

标签 python http urllib2 mechanize mechanize-python

我的一个脚本在 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)

我不认为我的代码有什么问题,但是每次当涉及到特定 url 的某个 http POST 请求时,它都会卡在 2003 年的计算机上(仅在该 url 上)。这一切的原因可能是什么,我应该如何调试?

顺便说一下,直到几个小时前,脚本才运行正常。并且没有更改任何设置。

最佳答案

您可以使用 FiddlerWire Shark看看在 HTTP 级别发生了什么。

还值得检查机器是否已被阻止向您尝试访问的机器发出请求。使用常规浏览器(使用您自己的 HTML 表单)和 Mechanize 使用的 HTTP 库,看看您是否可以手动构建请求。 Fiddler 也可以帮助您做到这一点。

关于python - 为什么http请求卡在我的python脚本中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8279380/

相关文章:

http - panic : runtime error: invalid memory address or nil pointer dereference with bigger data

google-app-engine - 使用和不使用 SSL 和套接字的 GAE 和 urllib2.py 错误 - TypeError : __init__() got an unexpected keyword argument 'context'

java - Python 脚本不会在本地主机 gae 开发服务器的 urlopen 之后读取()——对等连接重置

python - 试图将 yield 理解为一个表达式

python - PhantomJS 返回空网页(python,Selenium)

python - 面临属性错误: for 'tag_' using Spacy in Python

python - 使用 Python 在 MySQL 查询中使用 %s 进行字符串格式化时出错

http - HTTP请求会不会中途失败?

http - 注册页面上的 SSL 重定向,其他页面上的非 SSL

Python:urllib2 处理多个开场白