调用接口时报连接错误(例如 Failed to establish a new connection、getaddrinfo failed、超时、SSL 错误),一般是本机网络、DNS 或代理软件的问题。按下面的顺序排查。
1. 先换一个节点试试
Section titled “1. 先换一个节点试试”YesCaptcha 有两个节点:https://api.yescaptcha.com(国际)和 https://cn.yescaptcha.com(国内)。在中国大陆的服务器上用国内节点,其他地区用国际节点。换节点后,查询结果也要用同一个节点。
curl -s https://api.yescaptcha.com/getBalance -H 'Content-Type: application/json' -d '{"clientKey": "YOUR_CLIENT_KEY"}'curl -s https://cn.yescaptcha.com/getBalance -H 'Content-Type: application/json' -d '{"clientKey": "YOUR_CLIENT_KEY"}'有一个能返回 JSON,就说明网络是通的,问题在另一个节点的线路上。
2. 检查代理软件
Section titled “2. 检查代理软件”访问 YesCaptcha 不需要代理。电脑上开着代理或 VPN 软件时:
- 先关掉再试;
- 必须开着的,改成按规则分流(PAC 模式)而不是全局模式,或者把
api.yescaptcha.com、cn.yescaptcha.com加进直连名单; - Python 在开着代理时报
SSLEOFError(8, 'EOF occurred in violation of protocol'),多半也是代理导致,关掉代理或让这两个域名直连即可。
3. 检查网络和 DNS
Section titled “3. 检查网络和 DNS”ping api.yescaptcha.com- 提示找不到主机:DNS 解析失败。刷新 DNS 缓存(Windows:
ipconfig /flushdns;macOS:sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder),或者把电脑的 DNS 改成公共 DNS(例如223.5.5.5、119.29.29.29、8.8.8.8)再试。 - ping 不通但能解析出地址:可能是网络屏蔽了 ICMP,不代表接口不通,以第 1 步的 curl 结果为准。
4. SSL 证书错误
Section titled “4. SSL 证书错误”- 报
Certificate has expired、certificate verify failed:先检查电脑的系统时间是否正确;再把操作系统、Python 的certifi、Postman 等工具更新到最新版本,让它们带上最新的根证书。 - 请始终用
https://,不要为了绕过证书错误改用http://或关闭证书校验。
5. 还是不行
Section titled “5. 还是不行”联系客服,附上:完整的错误信息、你用的节点、服务器所在地区、第 1 步 curl 的输出。