Python请求HTTPConnectionPool,u超过了最大重试次数

2024-09-27 07:26:09 发布

您现在位置:Python中文网/ 问答频道 /正文

在Linux集群上,我收到以下请求错误:

ConnectionError: HTTPConnectionPool(host='andes-1-47', port=8181): Max retries exceeded with url: /jammy/api/v1 (Caused by : '')

这个错误是什么意思?是请求问题还是主机问题,解决方案是什么?

顺便说一句,该程序在Windows和Linux两台独立的机器上都能成功地运行。


Tags: apihosturlportlinux错误with集群
2条回答

因此Max retries exceeded with url: ...位可能非常混乱。很可能(因为您提到这可以使用localhost工作)这是您正在某处部署的应用程序。这也解释了为什么主机名是andes-1-47,而不是大多数人所期望的(例如example.com)。我的最佳猜测是,您需要使用andes-1-47(例如192.168.0.255)的IP地址,或者您的linux集群不知道如何解析andes-1-47,您应该将其添加到/etc/hosts文件(即添加行:192.168.0.255 andes-1-47)。

如果要查看linux群集是否可以解析名称,则可以始终使用此脚本:

import socket

socket.create_connection(('andes-1-47', 8181), timeout=2)

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

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

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

相关问题 更多 >

    热门问题