Python请求使用url超出HTTPConnectionPool和Max重试次数

时间:2014-06-04 18:47:47

标签: python python-requests

在Linux群集上,我收到此错误的请求:

  

ConnectionError:HTTPConnectionPool(host =' andes-1-47',port = 8181):Max   url:/ jammy / api / v1超出了重试次数(由:'')

这个错误是什么意思?它是一个请求问题还是在主机上,问题是什么?

顺便说一句,该程序在具有localhost的Windows和Linux独立计算机上都能成功运行。

2 个答案:

答案 0 :(得分:10)

所以Max retries exceeded with url: ...位可能会让人非常困惑。很可能(因为你提到这可以使用localhost),这是你正在某处部署的应用程序。这也可以解释为什么主机名是andes-1-47而不是大多数人期望的(例如example.com)。我最好的猜测是你需要使用andes-1-47的IP地址(例如,192.168.0.255),或者你的linux集群不知道如何解决andes-1-47,你应该将它添加到/etc/hosts您的192.168.0.255 andes-1-47文件(即添加以下行:import socket socket.create_connection(('andes-1-47', 8181), timeout=2) )。

如果您想查看您的Linux集群是否可以解析名称,您可以随时使用此脚本:

{{1}}

如果无法解析主机名,则会在2秒内超时。 (您可以删除超时,但可能需要更长时间才能确定主机名是否可以通过这种方式访问​​。)

答案 1 :(得分:2)

urlopen来电中

,尝试设置retries=Falseretries=1以查看差异。默认值为3,这听起来很合理。

http://urllib3.readthedocs.org/en/latest/pools.html#urllib3.connectionpool.HTTPConnectionPool.urlopen