[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"blog-strapi-article:zh:developer-platform-login-residential-vs-datacenter":3,"blog-article:\u002Fblog\u002Fdeveloper-platform-login-residential-vs-datacenter":609,"blog-related:\u002Fblog\u002Fdeveloper-platform-login-residential-vs-datacenter":610,"blog-translations:\u002Fblog\u002Fdeveloper-platform-login-residential-vs-datacenter":611},{"available":4,"article":5,"relatedArticles":126,"translations":533},true,{"source":6,"id":7,"documentId":8,"translationKey":8,"locale":9,"slug":10,"path":11,"_path":11,"title":12,"description":13,"excerpt":13,"image":14,"publishedAt":15,"updatedAt":16,"author":17,"tags":18,"featured":19,"sortOrder":20,"readingTime":21,"bodyType":22,"bodyBlocks":23,"bodyHtml":125},"strapi",2546,"y7nsvp21j1po9hmaq0d6rtbc","zh","developer-platform-login-residential-vs-datacenter","\u002Fblog\u002Fdeveloper-platform-login-residential-vs-datacenter","开发者平台登录用静态住宅 IP 还是数据中心代理 IP？","开发者平台长期登录且重视地区和会话一致性时，可优先评估静态住宅代理 IP；住宅属性非硬要求时可测试数据中心代理 IP。本文同时区分网页登录与 API 调用的选型依据。","https:\u002F\u002Fcms.quanqiudaili.com\u002Fuploads\u002Flarge_ip_ip_cover_ed75f48f6f.webp","2026-09-08T02:03:17.932Z","2026-09-08T02:03:17.866Z","Global Proxies Team",[],false,0,2,"blocks",[24,30,35,39,44,48,52,56,60,64,68,72,77,81,85,89,93,97,101,105,109,113,117,121],{"type":25,"children":26},"paragraph",[27],{"text":28,"type":29},"长期登录开发者平台且重视地区一致性和住宅属性时，优先评估静态住宅代理 IP；住宅属性不是硬要求、重点是速度和成本时，可先测试数据中心代理 IP。最终要以目标平台的实际兼容性为准。","text",{"type":31,"level":21,"children":32},"heading",[33],{"text":34,"type":29},"选择代理 IP 前先确认平台和账号条件",{"type":25,"children":36},[37],{"text":38,"type":29},"先确认平台官方可用地区、账号资格和登录方式，再判断三个条件：平台是否重视住宅属性、是否需要长期保持同一地区、业务更重视稳定性还是速度和成本。代理 IP 只能改变网络出口，不能替代账号权限或平台政策。",{"type":40,"children":41},"code",[42],{"text":43,"type":29},"| 登录条件 | 优先评估方案 | 需要保持一致的因素 | 备注 |\n| --- | --- | --- | --- |\n| 长期登录同一账号 | 静态住宅代理 IP | 地区、设备、时区、语言 | 仍需验证平台兼容性 |\n| 平台重视住宅属性 | 静态住宅代理 IP | 账号与出口环境 | 不代表一定免验证 |\n| 住宅属性非硬要求 | 数据中心代理 IP | 主机、端口和出口稳定性 | 可先做低风险测试 |\n| 只调用 API、不登录网页 | 按请求规模和地区选择 | 程序代理配置 | 不直接套用网页登录结论 |",{"type":31,"level":21,"children":45},[46],{"text":47,"type":29},"哪些开发者平台登录场景适合静态住宅代理 IP",{"type":25,"children":49},[50],{"text":51,"type":29},"静态住宅代理 IP 更适合长期登录、同一账号持续使用和需要地区稳定的环境。应保持账号、设备、时区、语言和出口一致，并先用一个账号、小范围验证验证码和平台兼容性。",{"type":31,"level":21,"children":53},[54],{"text":55,"type":29},"哪些情况下可以先测试数据中心代理 IP",{"type":25,"children":57},[58],{"text":59,"type":29},"如果平台不要求住宅属性，且业务更重视速度、延迟和成本，可以测试数据中心代理 IP，例如公开开发者文档访问、接口连通性或非敏感环境测试。若出现地区识别或账号环境不一致，再比较静态住宅代理 IP。",{"type":25,"children":61},[62],{"text":63,"type":29},"网页登录与 API 调用不要套用同一结论：网页登录更看重账号、设备、Cookie 和出口的连续性；API 调用则应根据地区要求、请求规模、并发和成本评估，并确认程序代理配置已被当前进程读取。",{"type":31,"level":21,"children":65},[66],{"text":67,"type":29},"开发者平台登录异常应该按什么顺序排查",{"type":25,"children":69},[70],{"text":71,"type":29},"1. 查看平台可用地区、账号资格和服务状态。\n2. 检查出口 IP、DNS、时区、语言和设备环境。\n3. 核对主机、端口、账号和密码。\n4. 固定账号与设备，对比静态住宅和数据中心代理 IP 的结果。\n5. 保留错误提示和截图，不要连续切换出口。",{"type":31,"level":73,"children":74},3,[75],{"text":76,"type":29},"实测案例：静态住宅与数据中心出口对照",{"type":25,"children":78},[79],{"text":80,"type":29},"针对第 4 步，固定浏览器 profile、时区、语言和账号，仅切换两种出口；记录验证次数、会话保持时长、登录失败提示和 P95 延迟，并注明平台官方登录\u002F安全提示（例如 [OpenAI 登录帮助](https:\u002F\u002Fhelp.openai.com\u002Fen\u002Fcollections\u002F3742473-chatgpt)），避免把一次测试外推成普遍结论。",{"type":31,"level":21,"children":82},[83],{"text":84,"type":29},"FAQ",{"type":31,"level":73,"children":86},[87],{"text":88,"type":29},"静态住宅代理 IP 能保证登录不触发验证吗？",{"type":25,"children":90},[91],{"text":92,"type":29},"不能，账号历史、设备环境、行为和平台规则也会影响验证结果。",{"type":31,"level":73,"children":94},[95],{"text":96,"type":29},"配置后如何确认代理已经生效？",{"type":25,"children":98},[99],{"text":100,"type":29},"检查实际出口 IP、国家或城市、DNS\u002FWebRTC 和平台页面结果。",{"type":31,"level":73,"children":102},[103],{"text":104,"type":29},"登录异常一定是代理 IP 的问题吗？",{"type":25,"children":106},[107],{"text":108,"type":29},"不一定，还要检查账号权限、平台状态、设备环境和认证信息。",{"type":31,"level":73,"children":110},[111],{"text":112,"type":29},"只调用 API、不登录网页时应该怎么选？",{"type":25,"children":114},[115],{"text":116,"type":29},"按地区要求、请求规模、并发和成本评估，不要直接套用网页登录的结论。",{"type":25,"children":118},[119],{"text":120,"type":29},"---",{"type":25,"children":122},[123],{"text":124,"type":29},"平台重视地区一致性和长期会话时，优先评估静态住宅代理 IP；住宅属性不是硬要求、重点是速度和成本时，可测试数据中心代理 IP。先确认平台地区支持和账号资格，再做小范围对照测试。","",[127,245,403],{"source":6,"id":128,"documentId":129,"translationKey":129,"locale":9,"slug":130,"path":131,"_path":131,"title":132,"description":133,"excerpt":133,"image":134,"publishedAt":135,"updatedAt":136,"author":17,"tags":137,"featured":19,"sortOrder":20,"readingTime":21,"bodyType":22,"bodyBlocks":138,"bodyHtml":125},2554,"gnqor0trqqgag36cbbo54ebg","openai-api-403-429-proxy-ip","\u002Fblog\u002Fopenai-api-403-429-proxy-ip","OpenAI API 403\u002F429 和代理 IP 的关系","OpenAI API 返回 403 或 429 时，应先区分密钥权限、地区、速率、并发和额度问题。本文说明哪些错误证据可能指向代理 IP，并给出直连与代理的对照排障方法。","https:\u002F\u002Fcms.quanqiudaili.com\u002Fuploads\u002Flarge_openai_api_403_429_ip_cover_859fb85858.webp","2026-09-08T02:06:14.087Z","2026-09-08T02:06:14.074Z",[],[139,143,147,151,155,159,163,167,171,175,179,183,187,191,195,199,203,206,210,214,218,222,226,230,234,238,241],{"type":25,"children":140},[141],{"text":142,"type":29},"OpenAI API 报 403 时，先查密钥、项目权限、地区和请求策略；报 429 时，先区分速率限制、并发过高和额度不足。代理 IP 只在错误证据指向网络出口或地区时才值得调整，不能把所有 403\u002F429 都归因于代理。",{"type":31,"level":21,"children":144},[145],{"text":146,"type":29},"遇到 403 和 429 时分别先查什么",{"type":25,"children":148},[149],{"text":150,"type":29},"保留完整错误体、请求 ID、响应头和发生时间。403 重点查认证、项目权限、地区和请求策略；429 重点查速率限制、并发、额度和重试策略。",{"type":40,"children":152},[153],{"text":154,"type":29},"| 错误 | 优先检查 | 代理 IP 是否可能相关 | 典型证据 | 下一步 |\n| --- | --- | --- | --- | --- |\n| 403 | 密钥、项目权限、地区、请求策略 | 仅错误证据指向地区或网络时相关 | 特定出口触发，错误体提到地区 | 核对错误体和项目配置 |\n| 429 | 速率、并发、额度、重试策略 | 通常不是首要变量 | 错误体含限流或额度信息 | 降低频率、检查项目用量 |",{"type":31,"level":21,"children":156},[157],{"text":158,"type":29},"哪些现象能证明 403 与代理 IP 有关",{"type":31,"level":73,"children":160},[161],{"text":162,"type":29},"先固定请求条件",{"type":25,"children":164},[165],{"text":166,"type":29},"在密钥和项目权限确认无误后，固定密钥、项目、请求参数、并发数和时间窗口，只更换代理出口进行对照。",{"type":31,"level":73,"children":168},[169],{"text":170,"type":29},"再看错误体和响应头",{"type":25,"children":172},[173],{"text":174,"type":29},"确认错误体或响应头是否明确指向地区、网络或访问策略。认证失败不会因更换出口自动解决。",{"type":31,"level":73,"children":176},[177],{"text":178,"type":29},"重复测试确认结果是否稳定",{"type":25,"children":180},[181],{"text":182,"type":29},"只有相同请求条件下，特定出口反复触发 403，且更换出口后结果稳定变化，才应把代理 IP 作为高优先级变量继续测试。",{"type":31,"level":21,"children":184},[185],{"text":186,"type":29},"429 怎么区分速率限制、并发过高和额度不足",{"type":25,"children":188},[189],{"text":190,"type":29},"查看错误体和响应头中的限制信息，记录请求频率、并发数、项目额度和重试时间。降低请求频率或补充额度后仍出现同样错误，才继续检查网络出口。",{"type":31,"level":21,"children":192},[193],{"text":194,"type":29},"OpenAI API 的代理 IP 应该怎样配置和排查",{"type":31,"level":73,"children":196},[197],{"text":198,"type":29},"直连与代理的 403\u002F429 对照排查步骤",{"type":25,"children":200},[201],{"text":202,"type":29},"固定 API Key、模型、请求体和并发，仅切换直连与代理；记录状态码、错误字段、响应头限速信息、并发、额度和重试结果。错误分类以 [OpenAI API 错误处理](https:\u002F\u002Fplatform.openai.com\u002Fdocs\u002Fguides\u002Ferror-codes) 和 [速率限制](https:\u002F\u002Fplatform.openai.com\u002Fdocs\u002Fguides\u002Frate-limits) 为准，结论只适用于本次日志条件。\n1. 确认代理接入参数为主机、端口、账号和密码。\n2. 记录直连与代理的出口 IP、响应状态和错误体。\n3. 固定密钥、项目、请求参数和并发条件做对照。\n4. 每次只修改一个变量，不要连续更换代理 IP。",{"type":31,"level":21,"children":204},[205],{"text":84,"type":29},{"type":31,"level":73,"children":207},[208],{"text":209,"type":29},"换代理 IP 能解决 OpenAI API 的 403 吗？",{"type":25,"children":211},[212],{"text":213,"type":29},"不一定。先查密钥、项目权限、地区和请求策略；只有错误证据明确指向出口或地区时，才测试代理 IP。",{"type":31,"level":73,"children":215},[216],{"text":217,"type":29},"OpenAI API 的 429 一定是代理 IP 导致的吗？",{"type":25,"children":219},[220],{"text":221,"type":29},"不是。429 常见原因包括速率限制、并发过高和额度不足，应先查看错误体并核对项目用量。",{"type":31,"level":73,"children":223},[224],{"text":225,"type":29},"如何判断 API 请求是否真的走了代理？",{"type":25,"children":227},[228],{"text":229,"type":29},"在相同请求条件下比较出口 IP、响应状态、错误体和请求耗时，并确认当前程序读取了代理配置。",{"type":31,"level":73,"children":231},[232],{"text":233,"type":29},"为什么换代理后 403 仍然存在？",{"type":25,"children":235},[236],{"text":237,"type":29},"如果 403 来自密钥、项目权限、请求参数或账号资格，换代理不会改变这些条件。应先按错误体核对认证和项目配置。",{"type":25,"children":239},[240],{"text":120,"type":29},{"type":25,"children":242},[243],{"text":244,"type":29},"403 应优先检查密钥、项目权限、地区和请求策略，429 应优先检查速率、并发和额度；只有错误信息指向地区或网络出口时，才进一步测试代理 IP。先保留错误体、请求 ID、响应头和项目用量，再做直连与代理对照。",{"source":6,"id":246,"documentId":247,"translationKey":247,"locale":9,"slug":248,"path":249,"_path":249,"title":250,"description":251,"excerpt":251,"image":252,"publishedAt":253,"updatedAt":254,"author":17,"tags":255,"featured":19,"sortOrder":20,"readingTime":73,"bodyType":22,"bodyBlocks":256,"bodyHtml":125},2553,"ud49a06o1bzvxeww4n87vqd7","github-clone-slow-proxy-settings","\u002Fblog\u002Fgithub-clone-slow-proxy-settings","GitHub clone 慢和代理设置有什么关系？","GitHub clone 变慢不一定是代理 IP 导致，也可能与 DNS、HTTPS、SSH、LFS 或仓库体积有关。本文按协议和下载阶段拆解排查步骤，帮助判断代理是否真正改善速度。","https:\u002F\u002Fcms.quanqiudaili.com\u002Fuploads\u002Flarge_github_clone_cover_1eb79d48c0.webp","2026-09-08T02:05:55.939Z","2026-09-08T02:05:55.924Z",[],[257,261,265,269,273,277,281,285,289,293,297,301,305,309,313,317,321,325,329,333,337,341,345,349,353,357,361,364,368,372,376,380,384,388,392,396,399],{"type":25,"children":258},[259],{"text":260,"type":29},"GitHub clone 变慢不一定是代理 IP 的问题，也可能来自 DNS、仓库体积、LFS、HTTPS\u002FSSH 配置或本地网络。先用同一仓库比较直连与代理的延迟、吞吐和失败情况，再决定是否调整代理设置。",{"type":31,"level":21,"children":262},[263],{"text":264,"type":29},"GitHub clone 变慢通常卡在哪个环节",{"type":31,"level":73,"children":266},[267],{"text":268,"type":29},"域名解析阶段",{"type":25,"children":270},[271],{"text":272,"type":29},"先看 DNS 解析耗时和解析结果。所有仓库都变慢时，应优先排查本地 DNS、网络链路和代理解析方式。",{"type":31,"level":73,"children":274},[275],{"text":276,"type":29},"建立 HTTPS 或 SSH 连接阶段",{"type":25,"children":278},[279],{"text":280,"type":29},"如果只在 HTTPS 或 SSH 下变慢，应检查对应协议的代理配置、连接耗时和 SSH 握手情况。",{"type":31,"level":73,"children":282},[283],{"text":284,"type":29},"Git 对象下载阶段",{"type":25,"children":286},[287],{"text":288,"type":29},"小仓库正常而大仓库变慢时，重点检查对象数量、压缩处理、带宽和下载吞吐，不要直接归因于代理 IP。",{"type":31,"level":73,"children":290},[291],{"text":292,"type":29},"LFS 文件下载阶段",{"type":25,"children":294},[295],{"text":296,"type":29},"如果普通对象正常但 LFS 很慢，应单独检查 LFS 下载地址、配置、耗时和失败率。",{"type":31,"level":21,"children":298},[299],{"text":300,"type":29},"为什么 DNS、HTTPS、SSH 和 LFS 要分开测试",{"type":25,"children":302},[303],{"text":304,"type":29},"对上述四个阶段分别记录解析耗时、连接或握手耗时、下载吞吐、失败率和错误信息，确保测试指标与具体阶段对应。",{"type":40,"children":306},[307],{"text":308,"type":29},"| 层级 | 应检查内容 | 对比指标 |\n| --- | --- | --- |\n| DNS | 域名解析链路 | 解析耗时、解析结果 |\n| HTTPS | Git 代理和连接配置 | 连接耗时、下载吞吐 |\n| SSH | SSH 配置文件和代理命令 | 握手时间、失败信息 |\n| LFS | LFS 独立下载地址和配置 | LFS 文件耗时、失败率 |",{"type":31,"level":21,"children":310},[311],{"text":312,"type":29},"Git、SSH 和系统代理冲突时先检查什么",{"type":25,"children":314},[315],{"text":316,"type":29},"检查 Git 的全局和项目级配置，以及 SSH 的独立配置文件。系统代理生效不代表 Git、SSH 或 LFS 一定继承，Git 单独设置代理也可能绕过系统代理。",{"type":31,"level":73,"children":318},[319],{"text":320,"type":29},"HTTPS：直接设置 Git 的代理 IP",{"type":25,"children":322},[323],{"text":324,"type":29},"```bash\ngit config --global http.proxy http:\u002F\u002Fuser:pass@host:port\ngit config --global https.proxy http:\u002F\u002Fuser:pass@host:port\ngit clone https:\u002F\u002Fgithub.com\u002Fowner\u002Frepo.git\n```\n只想对当前仓库生效时去掉 `--global`；测试直连可用 `git config --global --unset http.proxy` 和 `git config --global --unset https.proxy`。",{"type":31,"level":73,"children":326},[327],{"text":328,"type":29},"SSH：在 `~\u002F.ssh\u002Fconfig` 使用 ProxyCommand",{"type":25,"children":330},[331],{"text":332,"type":29},"```sshconfig\nHost github.com\nHostName github.com\nUser git\nProxyCommand ncat --proxy host:port --proxy-type http %h %p\n```\n上例需要安装 Ncat；SSH 不会读取 Git 的 `http.proxy`，因此必须单独配置或明确走系统代理。",{"type":31,"level":21,"children":334},[335],{"text":336,"type":29},"代理什么时候能加快 clone，什么时候反而变慢",{"type":25,"children":338},[339],{"text":340,"type":29},"遇到 GitHub clone 慢时，当本地到目标站的网络质量较差、代理出口链路更稳定时，代理可能改善下载；如果代理距离更远、带宽不足或多了一层转发，速度反而可能下降，因此要用同一仓库和协议做对照。大仓库可先用 `git clone --depth 1 https:\u002F\u002Fgithub.com\u002Fowner\u002Frepo.git` 做浅克隆；`git config --global http.postBuffer 524288000` 只用于应对部分大请求失败，不能替代带宽或链路优化。",{"type":31,"level":21,"children":342},[343],{"text":344,"type":29},"GitHub clone 很慢时应该按什么顺序排查",{"type":31,"level":73,"children":346},[347],{"text":348,"type":29},"出口与耗时记录示例：HTTPS、SSH 与代理开关",{"type":25,"children":350},[351],{"text":352,"type":29},"对同一仓库分别测试 HTTPS、SSH、LFS 及代理开关；记录 DNS 时间、TLS 建连、首字节、总耗时、吞吐和重试次数，并保留命令输出。下面是记录格式示例（数值为演示，不代表本文实测结论）：",{"type":40,"children":354},[355],{"text":356,"type":29},"| 方式 | DNS\u002FTLS | 总耗时 | 吞吐 | 结果 |\n| --- | ---: | ---: | ---: | --- |\n| 直连 HTTPS | 180\u002F420 ms | 96 s | 2.1 MB\u002Fs | 完成 |\n| 代理 IP HTTPS | 42\u002F160 ms | 58 s | 3.6 MB\u002Fs | 完成 |\n| 代理 IP SSH | —\u002F510 ms | 71 s | 2.9 MB\u002Fs | 完成 |",{"type":25,"children":358},[359],{"text":360,"type":29},"可用 `curl -w 'dns=%{time_namelookup} tls=%{time_appconnect} total=%{time_total}\\n' -o NUL -s https:\u002F\u002Fgithub.com` 记录 HTTPS 的 DNS、TLS 和总耗时。仓库地址与认证方式可对照 [GitHub 克隆仓库文档](https:\u002F\u002Fdocs.github.com\u002Fen\u002Frepositories\u002Fcreating-and-managing-repositories\u002Fcloning-a-repository)。\n1. 用小仓库和目标仓库分别做直连基线。\n2. 分别测试 DNS、HTTPS、SSH 和 LFS。\n3. 检查 Git、SSH、LFS 与系统代理的配置来源。\n4. 对比代理前后的延迟、吞吐、失败率和总下载时间。",{"type":31,"level":21,"children":362},[363],{"text":84,"type":29},{"type":31,"level":73,"children":365},[366],{"text":367,"type":29},"为什么浏览器访问 GitHub 正常，但 git clone 仍然很慢？",{"type":25,"children":369},[370],{"text":371,"type":29},"浏览器和 Git 可能使用不同的代理配置，clone 还涉及 HTTPS、SSH 或 LFS，应分别检查配置。",{"type":31,"level":73,"children":373},[374],{"text":375,"type":29},"如何判断代理是否让 clone 变快？",{"type":25,"children":377},[378],{"text":379,"type":29},"固定同一仓库、协议和时间窗口，比较解析耗时、连接耗时、吞吐、失败率和总下载时间。",{"type":31,"level":73,"children":381},[382],{"text":383,"type":29},"Git、SSH 和系统代理应该怎么排查？",{"type":25,"children":385},[386],{"text":387,"type":29},"先确认配置来源，再只启用一层代理做基线，确认实际出口和下载结果后再处理冲突。",{"type":31,"level":73,"children":389},[390],{"text":391,"type":29},"为什么小仓库正常，大仓库或 LFS 下载很慢？",{"type":25,"children":393},[394],{"text":395,"type":29},"大仓库可能受对象数量、压缩处理或 LFS 下载影响。应分别比较普通对象和 LFS 文件的耗时，不要只根据一次完整 clone 的总时间判断代理效果。",{"type":25,"children":397},[398],{"text":120,"type":29},{"type":25,"children":400},[401],{"text":402,"type":29},"带走要点：先固定仓库和协议做直连基线，再分别配置 Git HTTPS 代理、SSH `ProxyCommand` 或环境变量；大仓库优先比较浅克隆与吞吐，并核对 DNS\u002FTLS 计时。只有代理 IP 的出口和耗时持续改善，才值得保留该配置。",{"source":6,"id":404,"documentId":405,"translationKey":405,"locale":9,"slug":406,"path":407,"_path":407,"title":408,"description":409,"excerpt":409,"image":410,"publishedAt":411,"updatedAt":412,"author":17,"tags":413,"featured":19,"sortOrder":20,"readingTime":21,"bodyType":22,"bodyBlocks":414,"bodyHtml":125},2552,"i88cwumwz25fihllz6npimuu","system-vs-program-proxy-cursor-claude-openai","\u002Fblog\u002Fsystem-vs-program-proxy-cursor-claude-openai","Cursor、Claude Code、OpenAI SDK 怎么区分系统代理和程序代理？","浏览器能访问但 Cursor、Claude Code 或 OpenAI SDK 请求失败，可能是系统代理、环境变量或程序代理配置不同。本文梳理各配置层级的作用，并提供确认实际出口的排查方法。","https:\u002F\u002Fcms.quanqiudaili.com\u002Fuploads\u002Flarge_cursor_claude_code_openai_sdk_cover_b995e3742e.webp","2026-09-08T02:05:38.450Z","2026-09-08T02:05:38.432Z",[],[415,419,423,427,431,435,439,443,447,451,455,459,463,467,471,475,479,483,487,491,494,498,502,506,510,514,518,522,526,529],{"type":25,"children":416},[417],{"text":418,"type":29},"系统代理通常影响遵循操作系统网络设置的应用，程序代理只影响在 CLI、SDK 或应用配置中显式指定的请求。使用 Cursor 代理 IP、Claude Code 或 OpenAI SDK 时，浏览器能访问而程序失败，应分别检查环境变量、应用设置和实际出口。",{"type":31,"level":21,"children":420},[421],{"text":422,"type":29},"先确认请求是由浏览器、应用还是 SDK 发起",{"type":25,"children":424},[425],{"text":426,"type":29},"浏览器、Cursor、Claude Code 和 OpenAI SDK 可能使用不同的代理配置。浏览器能访问而程序失败时，应先确认具体请求由哪个进程发出。",{"type":31,"level":21,"children":428},[429],{"text":430,"type":29},"系统代理和程序代理分别会影响哪些请求",{"type":25,"children":432},[433],{"text":434,"type":29},"系统代理由操作系统或桌面网络设置提供，是否被应用采用取决于应用实现。程序代理由 CLI 参数、SDK 客户端或应用设置决定，通常只影响该程序的请求。",{"type":40,"children":436},[437],{"text":438,"type":29},"| 配置层级 | 典型配置来源 | 可能影响的请求 | 常见误区 |\n| --- | --- | --- | --- |\n| 系统代理 | 操作系统网络设置 | 遵循系统设置的应用 | 以为所有程序都会继承 |\n| 环境变量 | `HTTP_PROXY`、`HTTPS_PROXY` | 读取环境变量的 CLI\u002FSDK | 已打开终端未加载新变量 |\n| 应用代理 | Cursor、Claude Code 设置 | 应用自身请求 | 与系统代理重复 |\n| SDK 参数 | 客户端或传输层配置 | 当前程序请求 | 浏览器正常不代表 SDK 正常 |",{"type":31,"level":21,"children":440},[441],{"text":442,"type":29},"Cursor、Claude Code 和 OpenAI SDK 分别在哪里配置代理",{"type":31,"level":73,"children":444},[445],{"text":446,"type":29},"Cursor：设置项控制桌面应用请求",{"type":25,"children":448},[449],{"text":450,"type":29},"在 Cursor 的 Settings 中搜索 `HTTP Proxy`，或直接编辑设置 JSON 的 `http.proxy`（例如 `http:\u002F\u002Fuser:pass@host:port`）；必要时同时检查 `http.proxySupport`。该配置主要由 Cursor 自己读取，不保证终端或 SDK 继承系统代理，修改后重载或重启 Cursor。",{"type":31,"level":73,"children":452},[453],{"text":454,"type":29},"Claude Code：CLI 优先读取环境变量",{"type":25,"children":456},[457],{"text":458,"type":29},"在启动 Claude Code 的终端设置 `HTTP_PROXY`、`HTTPS_PROXY`，按需用 `NO_PROXY` 列出不应经过代理的域名，例如 `NO_PROXY=localhost,127.0.0.1`。Claude Code 作为 CLI 通常读取进程环境变量，不会自动采用 Cursor 的 `http.proxy`；设置后需重新打开终端或重启 CLI。",{"type":31,"level":73,"children":460},[461],{"text":462,"type":29},"OpenAI SDK：在 httpx 客户端显式指定",{"type":25,"children":464},[465],{"text":466,"type":29},"OpenAI Python SDK 基于 httpx，可通过环境变量让 httpx 读取代理，也可显式传入客户端参数：`httpx.Client(proxy=\"http:\u002F\u002Fuser:pass@host:port\")`，再以 `OpenAI(http_client=client)` 使用。旧版 httpx 使用过 `proxies` 参数，需按已安装版本核对；SDK 显式客户端参数不会自动继承 Cursor 的应用设置。",{"type":31,"level":21,"children":468},[469],{"text":470,"type":29},"代理配置重复时怎样确认实际出口",{"type":31,"level":73,"children":472},[473],{"text":474,"type":29},"出口核对方法：浏览器、CLI 与 SDK",{"type":25,"children":476},[477],{"text":478,"type":29},"分别记录系统代理、`HTTP_PROXY\u002FHTTPS_PROXY` 和程序参数，使用同一出口核验页面或接口；记录最终出口 IP、TLS\u002F连接错误和请求耗时。OpenAI SDK 的代理参数可对照 [httpx 官方文档](https:\u002F\u002Fwww.python-httpx.org\u002Fadvanced\u002Fproxies\u002F) 与 [OpenAI Python SDK 文档](https:\u002F\u002Fgithub.com\u002Fopenai\u002Fopenai-python)。\n1. 记录系统代理、环境变量和应用配置。\n2. 关闭其中一层，只保留一个代理来源做基线测试。\n3. 确认接入参数为主机、端口、账号和密码。\n4. 用 CLI、SDK 和浏览器分别检查实际出口 IP 和错误信息。",{"type":25,"children":480},[481],{"text":482,"type":29},"排障时建议先关闭系统代理，只保留程序代理测试；再反向测试系统代理。若两种配置同时存在，应比较请求是否出现认证失败、延迟增加或出口异常。",{"type":31,"level":21,"children":484},[485],{"text":486,"type":29},"常见坑：NO_PROXY、大小写与进程继承",{"type":25,"children":488},[489],{"text":490,"type":29},"`NO_PROXY` 会让匹配的域名绕过代理，排查时要确认例外规则没有覆盖目标接口。不同工具和操作系统对 `HTTP_PROXY`、`HTTPS_PROXY` 与小写 `http_proxy`、`https_proxy` 的优先级并不完全一致，建议只保留一套大小写并在当前进程打印确认。GUI 应用通常只在启动时读取环境变量，修改后必须完全退出并重启；已打开的终端同样不会自动获得后来新增的变量。",{"type":31,"level":21,"children":492},[493],{"text":84,"type":29},{"type":31,"level":73,"children":495},[496],{"text":497,"type":29},"为什么浏览器能访问，Cursor 或 Claude Code 却失败？",{"type":25,"children":499},[500],{"text":501,"type":29},"浏览器可能读取系统代理，而 CLI 或应用使用独立配置。",{"type":31,"level":73,"children":503},[504],{"text":505,"type":29},"系统代理和程序代理能同时设置吗？",{"type":25,"children":507},[508],{"text":509,"type":29},"可以，但容易造成重复代理、认证失败或延迟增加，排障时先只启用一层。",{"type":31,"level":73,"children":511},[512],{"text":513,"type":29},"为什么改了环境变量，当前终端仍然没有变化？",{"type":25,"children":515},[516],{"text":517,"type":29},"已经打开的终端进程可能没有继承新变量，修改后应重新打开终端或应用。",{"type":31,"level":73,"children":519},[520],{"text":521,"type":29},"OpenAI SDK 配置后如何确认生效？",{"type":25,"children":523},[524],{"text":525,"type":29},"比较直连与代理的出口 IP、响应状态和错误体，并确认当前进程读取了配置。",{"type":25,"children":527},[528],{"text":120,"type":29},{"type":25,"children":530},[531],{"text":532,"type":29},"带走要点：Cursor 看 `http.proxy`，Claude Code 看终端环境变量，OpenAI SDK 看 httpx 客户端或环境变量。排障时先只启用一层代理，检查 `NO_PROXY`、变量大小写和 GUI 重启，再以实际出口 IP 和响应结果确认是否生效。",[534],{"source":6,"id":7,"documentId":8,"translationKey":8,"locale":9,"slug":10,"path":11,"_path":11,"title":12,"description":13,"excerpt":13,"image":14,"publishedAt":15,"updatedAt":16,"author":17,"tags":535,"featured":19,"sortOrder":20,"readingTime":21,"bodyType":22,"bodyBlocks":536,"bodyHtml":125},[],[537,540,543,546,549,552,555,558,561,564,567,570,573,576,579,582,585,588,591,594,597,600,603,606],{"type":25,"children":538},[539],{"text":28,"type":29},{"type":31,"level":21,"children":541},[542],{"text":34,"type":29},{"type":25,"children":544},[545],{"text":38,"type":29},{"type":40,"children":547},[548],{"text":43,"type":29},{"type":31,"level":21,"children":550},[551],{"text":47,"type":29},{"type":25,"children":553},[554],{"text":51,"type":29},{"type":31,"level":21,"children":556},[557],{"text":55,"type":29},{"type":25,"children":559},[560],{"text":59,"type":29},{"type":25,"children":562},[563],{"text":63,"type":29},{"type":31,"level":21,"children":565},[566],{"text":67,"type":29},{"type":25,"children":568},[569],{"text":71,"type":29},{"type":31,"level":73,"children":571},[572],{"text":76,"type":29},{"type":25,"children":574},[575],{"text":80,"type":29},{"type":31,"level":21,"children":577},[578],{"text":84,"type":29},{"type":31,"level":73,"children":580},[581],{"text":88,"type":29},{"type":25,"children":583},[584],{"text":92,"type":29},{"type":31,"level":73,"children":586},[587],{"text":96,"type":29},{"type":25,"children":589},[590],{"text":100,"type":29},{"type":31,"level":73,"children":592},[593],{"text":104,"type":29},{"type":25,"children":595},[596],{"text":108,"type":29},{"type":31,"level":73,"children":598},[599],{"text":112,"type":29},{"type":25,"children":601},[602],{"text":116,"type":29},{"type":25,"children":604},[605],{"text":120,"type":29},{"type":25,"children":607},[608],{"text":124,"type":29},null,[],[]]