【发布时间】:2014-04-16 04:54:22
【问题描述】:
我需要调用一个网络请求,并且我使用 Python 请求模块。
我有一个请求正在机器上处理,例如:55.84.201.228。当我通过浏览器输入它时,它工作正常,我能够查看网页..
但是当我使用 requests.get 时,它不起作用..它出现套接字错误..
>>> import requests
>>> r = requests.get('https://55.84.201.228')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.7/dist-packages/requests/api.py", line 55, in get
return request('get', url, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/requests/api.py", line 44, in request
return session.request(method=method, url=url, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/requests/sessions.py", line 383, in request
resp = self.send(prep, **send_kwargs)
File "/usr/local/lib/python2.7/dist-packages/requests/sessions.py", line 486, in send
r = adapter.send(request, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/requests/adapters.py", line 378, in send
raise ConnectionError(e)
requests.exceptions.ConnectionError: HTTPSConnectionPool(host='55.84.201.228', port=443): Max retries exceeded with url: / (Caused by <class 'socket.error'>: [Errno 110] Connection timed out)
我该如何解决这个问题?
>>>r = requests.get('https://www.cnn.com')
这很好用。
【问题讨论】:
-
您与 python 脚本的连接似乎超时 - 它无法连接到主机。您的浏览器中是否设置了代理,或其他与脚本不同的设置?在不知道您的网络设置的情况下,这是无法回答的。