URLError: <urlopen 错误 [Errno 104] 对等方重置连接>

3 投票
2 回答
13611 浏览
提问于 2025-04-16 07:26

每当我通过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>

任何帮助都非常感谢

2 个回答

1

试试把 cache=None 作为客户端参数。这对我解决同样的问题有帮助。

client = suds.client.Client(url, cache=None)
2

这个错误通常是因为防火墙或代理系统设置得不好导致的。如果你是在家里的ADSL网络上运行你的程序,或者用简单的网络连接,代码本身应该是没问题的。104这个错误代码是当你本地网络里的某个东西出问题了,像小孩发脾气一样不干了,给你反馈的。

撰写回答