.
错误信息
API call failed after 3 retries: Connection error.
AI 解决方案
报错分析
1.错误翻译
原文:API call failed after 3 retries: Connection error.
译文:API调用在3次重试后失败:连接错误。
2.原因分析
3.解决方案
import requests
from requests.adapters import HTTPAdapter
from urllib3.util.retry import Retry
def call_api(url, max_retries=3):
session = requests.Session()
retry_strategy = Retry(
total=max_retries,
backoff_factor=1,
status_forcelist=[429, 500, 502, 503, 504],
allowed_methods=["GET", "POST"]
)
adapter = HTTPAdapter(max_retries=retry_strategy)
session.mount("http://", adapter)
session.mount("https://", adapter)
try:
response = session.get(url, timeout=10)
response.raise_for_status()
return response.json()
except requests.exceptions.ConnectionError as e:
print(f"连接失败:{e}(请检查网络/API地址)")
except Exception as e:
print(f"错误:{e}")
return None
# 使用示例
result = call_api("https://api.example.com/endpoint")
4. 预防措施
ping/telnet验证API服务器可达性;② 实现指数退避重试(如上述代码) curl -v https://api.example.com)请提供更多报错细节以深化分析