跳转到内容

Connection failed: error sending request for url - CC Switch

Quick fix

多数相关 issue 仍未解决;升级至 v3.16.3+ 修复 SSL 重协商 Bug,或重启应用以刷新代理状态。

报错原文
DeepSeek 检查失败: Connection failed: error sending request for url (https://api.deepseek.com/anthropic/v1/messages)

该报错由两种不同机制触发,需根据环境区分:

1. **SSL/TLS 握手失败(Windows)**:在 v3.16.2 及更早版本中,部分供应商(如 DeepSeek)的 API 会触发多次 SSL renegotiation。cc-switch 内置的测试客户端对此处理不当导致握手被拒,而实际代理转发正常。此问题已在 v3.16.3 通过重写测试逻辑并复用同一 HTTP 客户端解决。

2. **代理状态缓存(跨平台)**:当 cc-switch 启动时若系统代理处于开启状态,其全局 `reqwest::Client` 会锁定该代理配置。若在运行期间关闭代理或切换网络,客户端不会自动刷新连接池,导致后续请求因无法连接旧代理地址而失败。此时需重启应用以重建客户端。

  1. 将 cc-switch 升级至 v3.16.3 或更高版本,以修复 SSL 重协商导致的测试失败。

  2. 如果未升级或升级后仍报错,请完全退出 cc-switch 进程并重新启动,以清除过期的代理连接缓存。

ToolClaude Code / Codex
Version<= 3.16.2
PlatformsWindowsmacOS
为什么实际对话能通,但测试链接一直报错?
这是因为旧版本中测试功能使用了独立的 HTTP 客户端实现,对 SSL 重协商支持较差;而实际代理转发使用了不同的客户端逻辑。升级到 v3.16.3 后,两者已统一为同一个客户端。
重启 cc-switch 就能解决吗?
如果是由于系统代理开关(如 Clash/Karing)导致的连接池缓存问题,重启可以立即解决。但如果是 SSL 握手层面的 bug,必须升级软件版本才能根治。

这是一个非官方社区 wiki,与 cc-switch 作者及项目本身无隶属关系。内容整理自项目公开的 GitHub issues。本站不分发任何软件。