摘要:先用 curl 经代理访问 api.anthropic.com 分清故障层级:连不上属网络层,返回 429 或 5xx 属限流与服务端。两层原因和处置方式完全不同,别混着调。

一分钟速查

  • 先分层:用 curl 测 api.anthropic.com,区分网络层与服务端。
  • 网络层:查代理变量、DNS、TLS 是否正常。
  • 429 限流:降低并发,指数退避重试。
  • 5xx:服务端繁忙,稍后重试。

用 curl 验证网络层

先确认代理本身能到达 Anthropic API。端口以客户端设置为准,Clash Verge Rev 通常是 7897。在终端执行:

curl -x http://127.0.0.1:7897 -I https://api.anthropic.com

能返回响应头,说明代理与节点正常;再用实际 API Key 发一个最小请求,若返回 HTTP 状态码,说明网络是通的,接下来看状态码。若第一条就失败,按下面的网络层步骤处理。

网络层问题的处理

代理变量

确认程序运行的终端或进程设置了 HTTPS_PROXY,新开窗口要重新设置。

SDK 代理配置

SDK 不读环境变量时,在代码里显式配置代理,或开启客户端 TUN 模式。

DNS 解析

域名解析异常时,让 DNS 走代理端处理。

TLS 握手

TLS 握手失败先核对系统时间,再换节点。

订阅与客户端

所有节点都超时,检查订阅与客户端本身。

服务端问题的处理

429 限流

请求频率或并发超了额度,降低并发,按指数退避重试,别失败后立即连发。

5xx 错误

服务端出错或暂时繁忙,短暂等待后重试,持续出现时看官方状态页。

长请求中途超时

适当调大 SDK 超时时间,改用流式输出,选丢包率低的专线节点。

关于 API 报错的 3 个误区

  • 「429 是节点的问题」——429 是限流,换节点一般不会改变结果,降并发加退避才对;
  • 「设了系统代理就能用」——多数 SDK 与 CLI 不会自动读系统代理,要显式配置或开 TUN;
  • 「超时就是网速慢」——长输出请求撞的是超时设置和丢包,不是带宽,改用流式并选低丢包节点。