Unable to connect to API:连接失败怎么解决
ECONNREFUSED常见连接网络ECONNREFUSED30 秒结论
根本没连上。 三个字母缩写决定方向:ENOTFOUND 是域名解析不了,ECONNREFUSED 是连上了但端口没服务,ECONNRESET 是连上后被对面掐断。
报错原文对照
Error: connect ECONNREFUSED 127.0.0.1:443
Error: getaddrinfo ENOTFOUND api.example.com
Error: read ECONNRESET
curl: (7) Failed to connect to api.example.com port 443
原因排序
| 概率 | 原因 |
|---|---|
| 40% | Base URL 写错(多了/少了 /v1) |
| 25% | 站点域名换了 / 挂了 |
| 20% | 代理或防火墙拦截 |
| 10% | DNS 污染 |
| 5% | 端口不对(http 写成了 https) |
修法
先 ping 域名
nslookup api.example.com
curl -v https://api.example.com/v1/models
curl -v 会告诉你卡在哪一步:DNS、TCP、TLS、还是 HTTP。
Base URL 的正确写法
| 错误写法 | 正确写法 |
|---|---|
https://api.example.com |
https://api.example.com/v1 |
https://api.example.com/v1/chat/completions |
https://api.example.com/v1 |
api.example.com/v1 |
https://api.example.com/v1 |
Base URL 只写到 /v1,不要带具体端点。客户端会自己拼。
责任判定表
| 现象 | 责任方 |
|---|---|
curl -v 卡在 DNS |
你的网络/DNS |
| 卡在 TLS 握手 | 证书或代理 |
| 连上但立刻 reset | 站点或防火墙 |
| 浏览器能开、程序不行 | 程序没走代理 |
还是没解决?把报错贴进来
新用户福利:先免费试,再决定充值
注册就送积分,可兑换 API 额度。拿真实请求验证本页结论,比看十篇教程都有用。
领免费额度