问题排查 Claude 专题
Claude API 连接失败怎么办:api.anthropic.com 超时、403、529 与流式中断的排查
Claude API 连接失败的排查:代码或终端调用 api.anthropic.com 超时、返回 403 地区限制、529 过载、流式响应中途断开,对应代理未配置、节点地区、服务端负载、线路抖动的原因与处理,附 Python 与 Node 的代理设置示例。
Claude API 的错误信息很明确,按状态码处理即可。多数「连接失败」是调用进程没走代理,其次是地区。
按错误分类
| 错误 | 原因 | 处理 |
|---|---|---|
| Timeout、ECONNREFUSED、fetch failed | 进程未走代理 | 设代理 |
| 401 | 密钥错误 | 检查 ANTHROPIC_API_KEY |
| 403 | 地区不受支持 | 换节点地区 |
| 429 | 速率限制 | 降频、等待 |
| 529 overloaded | 服务过载 | 重试 |
| 流式中途断开 | 线路抖动、出口 IP 变化 | 专线、固定节点 |
超时与连接被拒
先验证:
curl -I https://api.anthropic.com
超时说明进程没走代理。三种方式:
环境变量(终端与多数 SDK):
export HTTPS_PROXY=http://127.0.0.1:7897
SDK 内配置(以官方 SDK 为例):
Python:
import httpx
from anthropic import Anthropic
client = Anthropic(http_client=httpx.Client(proxy="http://127.0.0.1:7897"))
Node:
import { HttpsProxyAgent } from "https-proxy-agent";
import Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic({ httpAgent: new HttpsProxyAgent("http://127.0.0.1:7897") });
TUN 模式: 客户端开启后所有进程自动走代理,见 TUN 是什么。
ECONNREFUSED 是端口写错或客户端未运行。
403
Anthropic API 有地区限制,香港与中国大陆出口会得到 403。换日本、新加坡、美国节点。确认方法:用 IP 查询网站看出口地区。
429 与 529
429 是你的请求频率或额度超限,看响应头的重试时间。529 是 Anthropic 服务过载,与网络无关。两者都用指数退避重试,不要立即重发。
流式响应中断
长文本生成时连接保持数十秒到数分钟,抖动会中断。
- 换专线节点,见 AI 稳定线路怎么选。
- anthropic.com 域名策略组改为手动选择,固定节点,不用 url-test 或负载均衡。
- 晚高峰中断频繁时换节点或换时段。
与 Claude Code 的关系
Claude Code 走同一个 API,配置逻辑相同。专项排查见 Claude Code 连接失败。通用 API 错误见 API 连接失败。
常见问题
- Claude API 超时是什么原因?
- 调用 API 的进程没有走代理。终端设置 HTTPS_PROXY,或在 SDK 中传入代理配置,或开启 TUN 模式。
- Claude API 返回 403?
- 出口 IP 地区不在 Anthropic 支持列表。换日本、新加坡或美国节点。香港节点会触发 403。
- Claude API 返回 529 overloaded?
- 服务端过载,与你的网络无关。等待几秒后重试,实现指数退避。