3

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

代码:

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>
4

2 回答 2

1

想通了,帖子数据很大,我猜它弄乱了请求。我把它剪掉了,现在可以正常工作了。

于 2012-08-13T07:01:44.577 回答
0

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

于 2015-07-28T18:58:17.540 回答