簡體   English   中英

Python 請求 HTTPConnectionPool 和最大重試次數超過 url

[英]Python Requests HTTPConnectionPool and Max retries exceeded with url

在 Linux 集群上,我在請求中收到此錯誤:

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

這個錯誤是什么意思? 是請求問題還是主機上的問題,解決方法是什么?

順便說一下,該程序在帶有 localhost 的 Windows 和 Linux 獨立機器上都可以成功運行。

所以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 )。

如果您想查看您的 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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM