发布时间: 2026年9月8日更新时间: 2026年9月8日

Cursor、Claude Code、OpenAI SDK 怎么区分系统代理和程序代理?

浏览器能访问但 Cursor、Claude Code 或 OpenAI SDK 请求失败,可能是系统代理、环境变量或程序代理配置不同。本文梳理各配置层级的作用,并提供确认实际出口的排查方法。

系统代理通常影响遵循操作系统网络设置的应用,程序代理只影响在 CLI、SDK 或应用配置中显式指定的请求。使用 Cursor 代理 IP、Claude Code 或 OpenAI SDK 时,浏览器能访问而程序失败,应分别检查环境变量、应用设置和实际出口。

先确认请求是由浏览器、应用还是 SDK 发起

浏览器、Cursor、Claude Code 和 OpenAI SDK 可能使用不同的代理配置。浏览器能访问而程序失败时,应先确认具体请求由哪个进程发出。

系统代理和程序代理分别会影响哪些请求

系统代理由操作系统或桌面网络设置提供,是否被应用采用取决于应用实现。程序代理由 CLI 参数、SDK 客户端或应用设置决定,通常只影响该程序的请求。

配置层级典型配置来源可能影响的请求常见误区
系统代理操作系统网络设置遵循系统设置的应用以为所有程序都会继承
环境变量HTTP_PROXYHTTPS_PROXY读取环境变量的 CLI/SDK已打开终端未加载新变量
应用代理Cursor、Claude Code 设置应用自身请求与系统代理重复
SDK 参数客户端或传输层配置当前程序请求浏览器正常不代表 SDK 正常

Cursor、Claude Code 和 OpenAI SDK 分别在哪里配置代理

Cursor:设置项控制桌面应用请求

在 Cursor 的 Settings 中搜索 HTTP Proxy,或直接编辑设置 JSON 的 http.proxy(例如 http://user:pass@host:port);必要时同时检查 http.proxySupport。该配置主要由 Cursor 自己读取,不保证终端或 SDK 继承系统代理,修改后重载或重启 Cursor。

Claude Code:CLI 优先读取环境变量

在启动 Claude Code 的终端设置 HTTP_PROXYHTTPS_PROXY,按需用 NO_PROXY 列出不应经过代理的域名,例如 NO_PROXY=localhost,127.0.0.1。Claude Code 作为 CLI 通常读取进程环境变量,不会自动采用 Cursor 的 http.proxy;设置后需重新打开终端或重启 CLI。

OpenAI SDK:在 httpx 客户端显式指定

OpenAI Python SDK 基于 httpx,可通过环境变量让 httpx 读取代理,也可显式传入客户端参数:httpx.Client(proxy="http://user:pass@host:port"),再以 OpenAI(http_client=client) 使用。旧版 httpx 使用过 proxies 参数,需按已安装版本核对;SDK 显式客户端参数不会自动继承 Cursor 的应用设置。

代理配置重复时怎样确认实际出口

出口核对方法:浏览器、CLI 与 SDK

分别记录系统代理、HTTP_PROXY/HTTPS_PROXY 和程序参数,使用同一出口核验页面或接口;记录最终出口 IP、TLS/连接错误和请求耗时。OpenAI SDK 的代理参数可对照 httpx 官方文档OpenAI Python SDK 文档
1. 记录系统代理、环境变量和应用配置。
2. 关闭其中一层,只保留一个代理来源做基线测试。
3. 确认接入参数为主机、端口、账号和密码。
4. 用 CLI、SDK 和浏览器分别检查实际出口 IP 和错误信息。

排障时建议先关闭系统代理,只保留程序代理测试;再反向测试系统代理。若两种配置同时存在,应比较请求是否出现认证失败、延迟增加或出口异常。

常见坑:NO_PROXY、大小写与进程继承

NO_PROXY 会让匹配的域名绕过代理,排查时要确认例外规则没有覆盖目标接口。不同工具和操作系统对 HTTP_PROXYHTTPS_PROXY 与小写 http_proxyhttps_proxy 的优先级并不完全一致,建议只保留一套大小写并在当前进程打印确认。GUI 应用通常只在启动时读取环境变量,修改后必须完全退出并重启;已打开的终端同样不会自动获得后来新增的变量。

FAQ

为什么浏览器能访问,Cursor 或 Claude Code 却失败?

浏览器可能读取系统代理,而 CLI 或应用使用独立配置。

系统代理和程序代理能同时设置吗?

可以,但容易造成重复代理、认证失败或延迟增加,排障时先只启用一层。

为什么改了环境变量,当前终端仍然没有变化?

已经打开的终端进程可能没有继承新变量,修改后应重新打开终端或应用。

OpenAI SDK 配置后如何确认生效?

比较直连与代理的出口 IP、响应状态和错误体,并确认当前进程读取了配置。


带走要点:Cursor 看 http.proxy,Claude Code 看终端环境变量,OpenAI SDK 看 httpx 客户端或环境变量。排障时先只启用一层代理,检查 NO_PROXY、变量大小写和 GUI 重启,再以实际出口 IP 和响应结果确认是否生效。