('Unable to connect to proxy', NewConnectionError('<urllib3.connection.HTTPSConn...
🚨 错误信息
请求异常: HTTPSConnectionPool(host='www.dmxapi.cn', port=443): Max retries exceeded with url: /v1/chat/completions (Caused by ProxyError('Unable to connect to proxy', NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x0000028149D576B0>: Failed to establish a new connection: [WinError 10061] 由于目标计算机积极拒绝,无法连接。')))
0%| | 2/1000 [00:05<42:13, 2.54s/it]
Process finished with exit code -1
🤖 AI解决方案
错误分析报告
根本原因:网络代理配置问题导致无法连接到目标服务器
具体问题:Python的requests库尝试通过代理连接DMXAPI服务器(www.dmxapi.cn:443),但代理服务器拒绝了连接请求
错误位置:使用HTTPS进行API请求时的网络层连接失败
相关上下文:代码中设置了代理配置,但代理服务器未运行或配置不正确
代理配置验证:在代码中明确设置代理配置,避免依赖不确定的系统环境变量
连接异常处理:使用try-catch包装网络请求,添加重试机制和优雅降级处理 检查是否有系统环境变量设置了代理(HTTP_PROXY/HTTPS_PROXY)
验证代理服务器是否可用
尝试直接连接目标网站确认网络连通性
考虑使用更稳定的网络环境
1.翻译
原文:HTTPSConnectionPool(host='www.dmxapi.cn', port=443): Max retries exceeded with url: /v1/chat/completions (Caused by ProxyError('Unable to connect to proxy', NewConnectionError(': Failed to establish a new connection: [WinError 10061] 由于目标计算机积极拒绝,无法连接。')))
译文:HTTPS连接池(主机:'www.dmxapi.cn',端口:443):重试次数已达上限,URL:/v1/chat/completions(原因:代理错误('无法连接到代理', 新建连接错误('...: 建立新连接失败: [WinError 10061] 由于目标计算机积极拒绝,无法连接。')))
2.
3.方案一:禁用代理(如果不需要)
python
import requests明确禁用代理
session = requests.Session()
session.trust_env = False # 不读取系统环境代理或者创建请求时指定不使用代理
response = requests.get(
'https://www.dmxapi.cn/v1/chat/completions',
proxies={
'http': None,
'https': None
}
)
方案二:检查并正确配置代理
python
import requests正确配置代理(根据你的实际情况调整)
proxies = {
'http': 'http://your-proxy:port', # 确保代理地址正确
'https': 'http://your-proxy:port', # 注意:HTTPS代理通常也用http协议
}response = requests.get(
'https://www.dmxapi.cn/v1/chat/completions',
proxies=proxies,
timeout=30 # 设置合理的超时时间
)
方案三:检查代理服务器状态
bash
检查代理服务器是否运行
telnet your-proxy port或者检查网络连接
ping www.dmxapi.cn
4.预防措施
示例代码增强:
python
import requests
from requests.exceptions import ProxyError, ConnectionError, Timeout
import timedef safe_api_request(url, max_retries=3):
for attempt in range(max_retries):
try:
response = requests.get(
url,
proxies={'http': None, 'https': None}, # 明确代理设置
timeout=10
)
response.raise_for_status()
return response
except (ProxyError, ConnectionError) as e:
if attempt == max_retries - 1:
raise e
print(f"连接失败,第{attempt+1}次重试...")
time.sleep(2 attempt) # 指数退避
---
⚠️ 快速诊断步骤: