Claude API 请求超时或连接错误,先用 curl 通过代理访问 api.anthropic.com 判断问题在哪一层:curl 都连不上,是代理、DNS 或 TLS 这类网络层问题;curl 能连通但返回 429 或 5xx,则是限流或服务端繁忙,应降低并发并加入重试。
目录
Claude API 请求超时或报连接错误时,第一件事是判断问题出在网络层还是服务端。方法很简单:在同一台机器上用 curl 通过代理访问 api.anthropic.com。curl 都连不上,问题在代理、DNS 或 TLS;curl 连得上但业务请求返回 429 或 5xx,问题在限流或服务端繁忙。两类问题的处理方式完全不同,混在一起排查只会浪费时间。
截至 2026 年 9 月,Anthropic API 与 Claude 网页端一样有地区要求,从中国大陆调用通常需要代理,节点应选择美国、日本、新加坡等支持地区。
快速判断
| 现象 | 所在层 | 常见原因 | 处理方向 |
|---|---|---|---|
| 连接超时、connection refused | 网络层 | 程序没走代理、端口错误 | 设置代理变量或开启 TUN |
| 域名解析失败 | 网络层 | DNS 污染或解析到错误地址 | 使用代理端 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 发一个最小请求,模型名填写官方文档中的有效名称:
export HTTPS_PROXY=http://127.0.0.1:7897
curl https://api.anthropic.com/v1/messages \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{"model":"MODEL_NAME","max_tokens":16,"messages":[{"role":"user","content":"ping"}]}'
如果第一条成功、第二条返回 HTTP 状态码,说明网络是通的,接下来看状态码。如果第一条就失败,按下面的网络层步骤处理。
网络层问题的处理
- 确认程序运行的终端或进程设置了 HTTPS_PROXY,新开的终端窗口需要重新设置。
- 如果 SDK 不读取环境变量,在代码中显式配置代理,或开启客户端 TUN 模式。
- 域名解析异常时,让 DNS 走代理端处理,参考 DNS 错误排查。
- TLS 握手失败时先核对系统时间,再换节点,详见 TLS 错误排查。
- 所有节点都超时,按 节点超时排查 检查订阅与客户端。
服务端问题的处理
429 限流:说明请求频率或并发超过了当前额度。降低并发,按指数退避重试,不要在失败后立即连续重发。
5xx 错误:通用含义是服务端出错或暂时繁忙。短暂等待后重试即可,持续出现时关注官方状态页面。
长请求中途超时:适当调大 SDK 超时时间,改用流式输出,并选择丢包率低的专线节点。Claude Code 场景的类似问题可以参考 Claude Code 网络连接失败怎么办。
总结
- 先用 curl 区分网络层与服务端问题,再对症处理。
- 网络层看代理是否生效、DNS 与 TLS 是否正常。
- 429 是限流,降低并发并退避重试;5xx 是服务端问题,稍后重试。
- 长请求用流式输出、调大超时,并选低丢包专线节点。
常见问题
代码里设置了代理环境变量,为什么请求还是直连?
多数 SDK 与命令行工具会读取 HTTPS_PROXY,但不是全部,部分运行时的默认网络库不会自动读取。遇到这种情况,可以在 SDK 中显式配置代理,或者在代理客户端开启 TUN 模式,让所有流量自动走代理。
收到 429 是不是节点被封了?
通常不是。429 的通用含义是请求过多,属于限流,与账号的额度与并发有关。降低并发、加入退避重试即可,换节点一般不会改变结果。
长文本请求总在中途超时怎么办?
长输出请求持续时间长,容易撞上客户端或代理的超时设置。可以适当调大 SDK 的超时时间,改用流式输出,并选择丢包率低的专线节点。
服务器上调用 API 也需要代理吗?
如果服务器位于中国大陆,通常需要。服务器位于支持地区时一般可以直连,此时出现超时更可能是服务端繁忙或本地超时设置过短。