Mechanize [Errno 10054]远程主机强行关闭现有连接

时间:2012-08-13 05:40:02

标签: python mechanize

我浏览了整个互联网,我无法找到解决此错误的方法。有谁知道发生了什么事?

代码:

for index in range(len(sections)):      
    br.select_form(name="win1")
    post_url, post_data, headers =  br.form.click_request_data()
    post_data = post_data.replace("ICAction=None", "ICAction=DERIVED_CLSRCH_SSR_CLASSNAME_LONG$"+str(index))
    r = br.open(post_url, post_data) ##ERROR ON THIS LINE
    html = r.read()

    if index < range(len(sections)):
        br.select_form(name="win1")
        post_url, post_data, headers =  br.form.click_request_data()
        post_data = post_data.replace("ICAction=None", "ICAction=CLASS_SRCH_WRK2_SSR_PB_BACK")
        r = br.open(post_url, post_data)
        html = r.read()

错误记录

[Sun Aug 12 22:28:04 2012] [error] Traceback (most recent call last):
[Sun Aug 12 22:28:04 2012] [error]   File "C:/wamp/www/python/scrape.py", line 131, in application
[Sun Aug 12 22:28:04 2012] [error]     r = br.open(post_url, post_data)
[Sun Aug 12 22:28:04 2012] [error]   File "build\\bdist.win-amd64\\egg\\mechanize\\_mechanize.py", line 203, in open
[Sun Aug 12 22:28:04 2012] [error]     return self._mech_open(url, data, timeout=timeout)
[Sun Aug 12 22:28:04 2012] [error]   File "build\\bdist.win-amd64\\egg\\mechanize\\_mechanize.py", line 230, in _mech_open
[Sun Aug 12 22:28:04 2012] [error]     response = UserAgentBase.open(self, request, data)
[Sun Aug 12 22:28:04 2012] [error]   File "build\\bdist.win-amd64\\egg\\mechanize\\_opener.py", line 193, in open
[Sun Aug 12 22:28:04 2012] [error]     response = urlopen(self, req, data)
[Sun Aug 12 22:28:04 2012] [error]   File "build\\bdist.win-amd64\\egg\\mechanize\\_urllib2_fork.py", line 344, in _open
[Sun Aug 12 22:28:04 2012] [error]     '_open', req)
[Sun Aug 12 22:28:04 2012] [error]   File "build\\bdist.win-amd64\\egg\\mechanize\\_urllib2_fork.py", line 332, in _call_chain
[Sun Aug 12 22:28:04 2012] [error]     result = func(*args)
[Sun Aug 12 22:28:04 2012] [error]   File "build\\bdist.win-amd64\\egg\\mechanize\\_urllib2_fork.py", line 1170, in https_open
[Sun Aug 12 22:28:04 2012] [error]     return self.do_open(conn_factory, req)
[Sun Aug 12 22:28:04 2012] [error]   File "build\\bdist.win-amd64\\egg\\mechanize\\_urllib2_fork.py", line 1118, in do_open
[Sun Aug 12 22:28:04 2012] [error]     raise URLError(err)
[Sun Aug 12 22:28:04 2012] [error] URLError: <urlopen error [Errno 10054] An existing connection was forcibly closed by the remote host>

2 个答案:

答案 0 :(得分:1)

想出来,帖子数据很大,我想这是弄乱了请求。我把它修剪下来,现在工作正常。

答案 1 :(得分:0)

仔细检查您的协议支持,我在尝试连接到已禁用TLS1.0的服务器时出现此错误(python 2.7,Windows 2008R2服务器/ IIS 7,Windows 7客户端),一旦我启用该问题就消失了。