[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: Hostname mismatch, c...
错误信息
Model glm-5.1-free failed: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: Hostname mismatch, certificate is not valid for 'api.dmxapi.cn'. (_ssl.c:1032)>. Trying next.
FAILED — All models failed: All models failed. Last error: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: Hostname mismatch, certificate is not valid for 'api.dmxapi.cn'. (_ssl.c:1032)>
AI 解决方案
报错分析报告
1.错误翻译
原文:[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: Hostname mismatch, certificate is not valid for 'api.dmxapi.cn'. (_ssl.c:1032)
译文:SSL:证书验证失败,证书验证出错:主机名不匹配,证书对'api.dmxapi.cn'无效。(_ssl.c:1032)
2.原因分析
api.dmxapi.cn与证书中绑定的主机名不一致。 glm-5.1-free)的网络请求阶段,触发HTTPS SSL握手验证。 api.dmxapi.cn时,服务器返回的证书未包含该主机名,导致验证失败。3.解决方案
#### 修复步骤(优先推荐)
dmxapi.cn而非api.dmxapi.cn),联系DMXAPI官方获取正确端点。 import requests
import urllib3
# 1. 优先使用正确URL(示例,替换为官方给的真实地址)
correct_url = "https://dmxapi.cn/your-model-endpoint" # 假设正确主机名是dmxapi.cn
try:
response = requests.get(correct_url, verify=True) # 启用证书验证
except requests.exceptions.SSLError:
# 2. 临时测试:禁用验证(生产环境禁止!)
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
response = requests.get("https://api.dmxapi.cn/your-model-endpoint", verify=False)
4.️ 预防措施
nslookup api.dmxapi.cn或浏览器访问URL,确认证书中的主机名与请求一致。 openssl s_client -connect api.dmxapi.cn:443检查证书详情。