requests get Max retries exceeded with url:
时间: 2025-03-26 22:02:28 浏览: 39
### 解决 Python Requests 库 GET 请求重试次数过多的问题
当遇到 `Max retries exceeded` 错误时,通常是因为目标服务器无法建立连接或 SSL 验证失败等问题。针对此问题有几种解决方案:
#### 方法一:增加超时时间和重试策略配置
通过自定义会话对象并设置更合理的超时时间以及重试机制能够有效减少此类错误的发生。
```python
import requests
from requests.adapters import HTTPAdapter
from requests.packages.urllib3.util.retry import Retry
retry_strategy = Retry(
total=3,
backoff_factor=1,
status_forcelist=[429, 500, 502, 503, 504],
method_whitelist=["HEAD", "GET", "OPTIONS"]
)
adapter = HTTPAdapter(max_retries=retry_strategy)
http = requests.Session()
http.mount("https://", adapter)
response = http.get('https://example.org/', timeout=(3.05, 27)) # connect timeout and read timeout
```
上述代码片段展示了如何创建带有特定重试逻辑的 Session 对象,并将其应用于 HTTPS 协议下的请求操作中[^2]。
#### 方法二:忽略SSL验证(不推荐用于生产环境)
对于某些情况下确实存在证书链路问题而导致的 SSL 认证失败,则可以选择暂时关闭 SSL 验证功能来进行调试工作;但在实际部署前应尽快修复该缺陷以保障通信安全。
```python
requests.get(url, verify=False)
# Warning: This disables SSL verification which is not recommended for production environments.
```
需要注意的是,在禁用 SSL 后可能会收到警告信息提示潜在风险,可以通过安装对应站点的信任根 CA 或者更新本地系统的受信任 CAs 列表来解决问题[^1]。
阅读全文
相关推荐



















