('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] 由于目标计算机积极拒绝,无法连接。')))
🤖 AI解决方案
代码糕手 - 报错分析报告
根本原因:Python程序尝试通过代理服务器连接到
具体问题:代码配置了代理设置(可能是环境变量、代码中硬编码或系统设置),但代理服务器无法访问或无响应
错误位置:发生在Python的urllib3库建立HTTPS连接时,具体在代理连接阶段
代理配置管理:
- 使用配置文件或环境变量管理代理设置,避免硬编码
- 实现代理检测机制,自动切换直连/代理模式连接异常处理:
代理调试工具:Fiddler、Charles Proxy 用于检查代理配置
网络诊断:使用
Python库:使用
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 (由代理错误引起('无法连接到代理', 新连接错误(': 建立新连接失败: [Windows错误10061] 由于目标计算机积极拒绝,无法连接。')))
2.分析
www.dmxapi.cn:443,但代理服务器拒绝了连接请求3.
选项1:移除代理配置(如果不需要代理)
python
import requests
import os清除可能影响连接的代理环境变量
os.environ.pop('HTTP_PROXY', None)
os.environ.pop('HTTPS_PROXY', None)
os.environ.pop('http_proxy', None)
os.environ.pop('https_proxy', None)在requests会话中明确禁用代理
session = requests.Session()
session.trust_env = False # 忽略系统代理设置然后使用这个session发起请求
response = session.post('https://www.dmxapi.cn/v1/chat/completions',
json=your_data,
headers=your_headers)
选项2:检查并配置正确的代理
python
import requests配置正确的代理(替换为你的实际代理地址)
proxies = {
'http': 'http://your-proxy-address:port',
'https': 'http://your-proxy-address:port', # 注意:某些代理也使用http
# 或者 'https': 'https://your-proxy-address:port'
}测试代理是否可用
try:
test_response = requests.get('https://www.baidu.com', proxies=proxies, timeout=5)
print("代理连接成功")
except:
print("代理不可用,请检查代理配置")使用配置好的代理进行请求
response = requests.post('https://www.dmxapi.cn/v1/chat/completions',
proxies=proxies,
json=your_data,
headers=your_headers)
选项3:检查系统代理设置(Windows)
powershell
检查当前网络代理设置
netsh winhttp show proxy如果需要重置代理设置
netsh winhttp reset proxy
4.预防措施
###实践
- 使用配置文件或环境变量管理代理设置,避免硬编码
- 实现代理检测机制,自动切换直连/代理模式
python
import requests
from requests.exceptions import ProxyError, ConnectionError
def safe_request(url, data, headers, retries=3):
for attempt in range(retries):
try:
response = requests.post(url, json=data, headers=headers, timeout=10)
return response
except ProxyError:
if attempt < retries - 1:
# 尝试禁用代理重试
response = requests.post(url, json=data, headers=headers,
timeout=10, proxies={})
return response
except ConnectionError as e:
print(f"连接失败,重试 {attempt + 1}/{retries}: {e}")
continue
return None
推荐工具
curl 测试连接:curl -v https://www.dmxapi.cnrequests 的 Session 对象管理连接和重试策略---
总结:这是一个网络代理配置问题,程序尝试通过无法访问的代理服务器连接到目标API。建议先检查代理设置,如果不需要代理,请明确禁用;如果需要代理,请确保代理服务器正常运行且配置正确。