URLError: <urlopen error [Errno 104] Connection reset by peer>

3
每当我使用FQL向Facebook服务器获取用户数据时,有10%的概率会出现以下情况:
URLError: <urlopen error [Errno 104] Connection reset by peer>

我无法复现这个错误。以下是回溯信息:

File "/home/fb.py", line 250, in get_data()
   return json.load(urlopen(URL, params))

 File "/usr/lib/python2.6/urllib2.py", line 126, in urlopen
   return _opener.open(url, data, timeout)

 File "/usr/lib/python2.6/urllib2.py", line 391, in open
   response = self._open(req, data)

 File "/usr/lib/python2.6/urllib2.py", line 409, in _open
   '_open', req)

 File "/usr/lib/python2.6/urllib2.py", line 369, in _call_chain
   result = func(*args)

 File "/usr/lib/python2.6/urllib2.py", line 1169, in https_open
   return self.do_open(httplib.HTTPSConnection, req)

 File "/usr/lib/python2.6/urllib2.py", line 1136, in do_open
   raise URLError(err)

URLError: <urlopen error [Errno 104] Connection reset by peer>

非常感谢您的帮助


为什么你要写一个 xxx() 函数呢?只是好奇一下。 - undefined
Rafe: 我已经为你修改了 :) - undefined
有解决方案吗?当我尝试访问一个HTTPS网址时,遇到了相同的问题。谢谢。 - undefined
2个回答

2

这个错误通常是由管理不善或设置不良的防火墙或代理系统造成的,如果您尝试从家庭adsl线路或简单连接运行程序,则代码应该没有问题。104是当本地区域网络中的某些东西发生故障并放弃时所抛出的错误代码。


1
尝试将客户端参数设置为cache=None。这对我解决了相同的问题。
client = suds.client.Client(url, cache=None)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接