跳转到内容

连接与网络问题

调用接口时报连接错误(例如 Failed to establish a new connection、getaddrinfo failed、超时、SSL 错误),一般是本机网络、DNS 或代理软件的问题。按下面的顺序排查。

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,就说明网络是通的,问题在另一个节点的线路上。

访问 YesCaptcha 不需要代理。电脑上开着代理或 VPN 软件时:

  • 先关掉再试;
  • 必须开着的,改成按规则分流(PAC 模式)而不是全局模式,或者把 api.yescaptcha.com、cn.yescaptcha.com 加进直连名单;
  • Python 在开着代理时报 SSLEOFError(8, 'EOF occurred in violation of protocol'),多半也是代理导致,关掉代理或让这两个域名直连即可。
终端窗口
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 结果为准。
  • 报 Certificate has expired、certificate verify failed:先检查电脑的系统时间是否正确;再把操作系统、Python 的 certifi、Postman 等工具更新到最新版本,让它们带上最新的根证书。
  • 请始终用 https://,不要为了绕过证书错误改用 http:// 或关闭证书校验。

联系客服,附上:完整的错误信息、你用的节点、服务器所在地区、第 1 步 curl 的输出。