Unable to connect to API:连接失败怎么解决
ECONNREFUSED / ECONNRESET / ENOTFOUND 三种连接错误的区别与排查,含 Base URL 常见写法错误。
更新 2026-10-28
核验 2026-10-28 · 码农阿风
连接网络ECONNREFUSED
30 秒结论
根本没连上。 三个字母缩写决定方向: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 | 站点或防火墙 |
| 浏览器能开、程序不行 | 程序没走代理 |
你在这个站点上遇到过这个问题?
认领站点后可补充证据、申请公开核验;认证不改榜单排序,只对应可复核的检测与复测。
认领 / 申请认证