Python requests.exceptions.ConnectionError:HTTPSConnectionPool:超过最大重试次数,url:[Errno 111]连接被拒绝)

Python requests.exceptions.ConnectionError:HTTPSConnectionPool:超过最大重试次数,url:[Errno 111]连接被拒绝),python,twitter,python-requests,Python,Twitter,Python Requests,所以我尝试使用API()从网络上获取一些数据。在通过浏览器直接使用API密钥时,我得到了所需的结果。但是在python中使用requests.get()函数时,我得到了一个错误,这里给出了回溯 代码: 回溯: File "<stdin>", line 1, in <module> File "/usr/lib/python2.7/site-packages/requests/api.py", line 55, in get return request('g

所以我尝试使用API()从网络上获取一些数据。在通过浏览器直接使用API密钥时,我得到了所需的结果。但是在python中使用requests.get()函数时,我得到了一个错误,这里给出了回溯

代码:

回溯:

 File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.7/site-packages/requests/api.py", line 55, in get
    return request('get', url, **kwargs)
  File "/usr/lib/python2.7/site-packages/requests/api.py", line 44, in request
    return session.request(method=method, url=url, **kwargs)
  File "/usr/lib/python2.7/site-packages/requests/sessions.py", line 382, in request
    resp = self.send(prep, **send_kwargs)
  File "/usr/lib/python2.7/site-packages/requests/sessions.py", line 485, in send
    r = adapter.send(request, **kwargs)
  File "/usr/lib/python2.7/site-packages/requests/adapters.py", line 372, in send
    raise ConnectionError(e)
requests.exceptions.ConnectionError: HTTPSConnectionPool(host='api.twittercounter.com', port=443): Max retries exceeded with url: /?apikey=XXXX&twitter_id=57947109 (Caused by <class 'socket.error'>: [Errno 111] Connection refused)

我得到了与上次相同的回溯。

虽然我自己无法解决这个问题,但我找到了一个解决方法,在这个方法中,我必须使用
httplib
ast
模块,而不是使用请求。我使用的代码是:

>>> import httplib
>>> conn = httplib.HTTPConnection("api.twittercounter.com")
>>> conn.request("GET", "?apikey=XXXX&twitter_id=15160529")
>>> r1 = conn.getresponse()
>>> a = r1.read()
>>> import ast
>>> b = ast.literal_eval(a)

现在,b是一个字典,它有我要找的任何数据。但是,如果有人能告诉我这个错误的正确解决方法,那将是非常有用的。

这个方法对我非常有效:

>>> import requests
>>> url = 'http://api.twittercounter.com/'
>>> payload = {'apikey': 'XXXXXX', 'twitter_id':53687449}
>>> requests.get(url, params=payload)
<Response [200]>
导入请求 >>>url='1〕http://api.twittercounter.com/' >>>有效负载={'apikey':'XXXXXX','twitter_id':53687449} >>>requests.get(url,params=payload)
您是永久性地还是不时地收到此异常?我最近遇到过这个问题,但我不时会遇到这个例外。所以我只是捕获了一个异常,然后重试连接。这对我来说是有用的。@DmitryVakhrushev我永远都会得到这个。我试图捕获异常并重试,但它再次给我相同的错误:(@DmitryVakhrushev,你能在这里粘贴你的代码或一些片段吗,也许会有帮助。你说你建立了大约10个连接。你会说你正好建立了10个连接吗?@Lukasa不完全是,我没有计算。但它肯定在10-15范围内。我不知道。但这似乎是一个在请求中反复出现的问题,而且很多人们告诉我这个错误,大多数是暂时出现的,但有时像我的情况一样,根本没有得到解决。我不得不使用httplib模块来解决这个问题。您使用的是什么版本的请求?
>>> import httplib
>>> conn = httplib.HTTPConnection("api.twittercounter.com")
>>> conn.request("GET", "?apikey=XXXX&twitter_id=15160529")
>>> r1 = conn.getresponse()
>>> a = r1.read()
>>> import ast
>>> b = ast.literal_eval(a)
>>> import requests
>>> url = 'http://api.twittercounter.com/'
>>> payload = {'apikey': 'XXXXXX', 'twitter_id':53687449}
>>> requests.get(url, params=payload)
<Response [200]>