0

我正在尝试加载一个 json 文件,但它抛出了一个异常:

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

这是我的代码(我在 shell 上执行它以进行测试/调试):

>>> import urllib2
>>> uri = 'https://api.mercadolibre.com/sites/MLA/search?q=camisas%20columbia'
>>> req = urllib2.Request(uri)
>>> resp = urllib2.urlopen(req)
Traceback (most recent call last):
  File "<console>", line 1, in <module>
  File "/opt/bitnami/python/lib/python2.7/urllib2.py", line 126, in urlopen
    return _opener.open(url, data, timeout)
  File "/opt/bitnami/python/lib/python2.7/urllib2.py", line 400, in open
    response = self._open(req, data)
  File "/opt/bitnami/python/lib/python2.7/urllib2.py", line 418, in _open
    '_open', req)
  File "/opt/bitnami/python/lib/python2.7/urllib2.py", line 378, in _call_chain
    result = func(*args)
  File "/opt/bitnami/python/lib/python2.7/urllib2.py", line 1215, in https_open
    return self.do_open(httplib.HTTPSConnection, req)
  File "/opt/bitnami/python/lib/python2.7/urllib2.py", line 1177, in do_open
    raise URLError(err)
URLError: <urlopen error [Errno 104] Connection reset by peer>

我正在使用在 VMWare 上虚拟化的 Ubuntu 12.04(64 位)Bitnami 的 Django Stack 1.4.3-0。

但是,我很好奇,并在我的主机(Windows 7 64 位)上尝试了相同的代码,我也安装了相同版本的 python,猜猜是什么......它完美地工作。

这是窗口输出:

C:\Users\Kevin>python
Python 2.7.3 (default, Apr 10 2012, 23:31:26) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import urllib2
>>> uri = "https://api.mercadolibre.com/sites/MLA/search?q=camisas%20columbia"
>>> req = urllib2.Request(uri)
>>> resp = urllib2.urlopen(req)
>>> resp.read()
'{"site_id":"MLA","query":"camisas columbia","paging":    {"total":43,"offset":0,"limit":50},"results":    [{"id":"MLA445360462","site_id":"MLA","title":"Ca
misa Columbia Silver Rider Hombre Tecnolog\xc3\xadas De Omni-dry" [...] 

如何在 Ubuntu 中解决此问题?我尝试更改请求中的用户代理和内容,但结果在 Ubuntu 上始终相同。

还尝试手动复制 json 文件并将其上传到保管箱并运行与上述相同的代码,但使用保管箱 url 并且它在两个系统上都可以完美运行。

希望你们能帮助我,这让我发疯了,我的整个项目都依赖于那个该死的 api :(

在此先感谢,并为我糟糕的英语感到抱歉。

4

1 回答 1

1

我找到了问题的根源:

https://bugs.launchpad.net/ubuntu/+source/openssl/+bug/965371

于 2013-01-11T09:38:37.770 回答