[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"blog-strapi-article:zh:gemini-cli-proxy-http-socks5-environment-variables":3,"blog-article:\u002Fblog\u002Fgemini-cli-proxy-http-socks5-environment-variables":548,"blog-related:\u002Fblog\u002Fgemini-cli-proxy-http-socks5-environment-variables":549,"blog-translations:\u002Fblog\u002Fgemini-cli-proxy-http-socks5-environment-variables":550},{"available":4,"article":5,"relatedArticles":102,"translations":490},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":101},"strapi",3476,"di2d61b0ntbxfkmt4rkgunhp","zh","gemini-cli-proxy-http-socks5-environment-variables","\u002Fblog\u002Fgemini-cli-proxy-http-socks5-environment-variables","Gemini CLI 代理怎么设置：HTTP_PROXY 与 HTTPS_PROXY","了解 Gemini CLI 的 HTTP(S) 代理设置方式，按当前版本配置 HTTPS_PROXY、HTTP_PROXY，并验证主模型请求是否经过代理。","https:\u002F\u002Fcms.quanqiudaili.com\u002Fuploads\u002Flarge_gemini_cli_http_socks5_cover_3bd4a7598d.webp","2026-10-20T09:43:02.426Z","2026-10-20T09:43:02.393Z","Global Proxies Team",[],false,0,2,"blocks",[24,30,35,39,43,47,51,55,59,63,67,71,75,80,84,89,93,97],{"type":25,"level":26,"children":27},"heading",1,[28],{"text":12,"type":29},"text",{"type":31,"children":32},"paragraph",[33],{"text":34,"type":29},"配置 Gemini CLI 代理 IP 前，先确认当前版本读取的代理环境变量及支持的协议，再从设置变量的同一终端启动 CLI。代理环境变量决定请求是否尝试经由指定网络出口连接；HTTP、HTTPS、SOCKS5 是接入协议，不代表代理 IP 的住宅属性或质量。",{"type":25,"level":21,"children":36},[37],{"text":38,"type":29},"先确认当前 Gemini CLI 版本读取哪些代理变量",{"type":31,"children":40},[41],{"text":42,"type":29},"先记录 Gemini CLI 版本、操作系统和安装方式，再查看该版本文档或帮助信息，确认它实际读取哪些代理变量以及支持哪些协议。不要预设 `HTTP_PROXY`、`HTTPS_PROXY`、`ALL_PROXY` 或 SOCKS5 一定可用；官方配置说明见 [Gemini CLI 配置文档](https:\u002F\u002Fgeminicli.com\u002Fdocs\u002Freference\u002Fconfiguration\u002F)。",{"type":25,"level":21,"children":44},[45],{"text":46,"type":29},"为当前终端的 Gemini CLI 主模型请求设置 HTTP(S) 代理",{"type":31,"children":48},[49],{"text":50,"type":29},"以下示例针对 Gemini CLI 主模型请求的 HTTP(S) 代理环境变量；不据此推断 MCP、沙箱或工具子进程一定继承同一设置。先记录安装版本，并确认该版本支持相应变量，再从设置变量的同一终端启动 CLI：",{"type":31,"children":52},[53],{"text":54,"type":29},"```powershell\n$env:HTTPS_PROXY = \"http:\u002F\u002F主机:端口\"\n$env:HTTP_PROXY = \"http:\u002F\u002F主机:端口\"\ngemini --help\ngemini\n```",{"type":31,"children":56},[57],{"text":58,"type":29},"```bash\nexport HTTPS_PROXY=\"http:\u002F\u002F主机:端口\"\nexport HTTP_PROXY=\"http:\u002F\u002F主机:端口\"\ngemini --help\ngemini\n```",{"type":31,"children":60},[61],{"text":62,"type":29},"以上分别是 PowerShell 与 Linux\u002FmacOS shell 设置当前终端变量的示例。是否读取变量取决于 Gemini CLI 版本；核实版本文档与 `gemini --help` 后，再用低风险主模型请求及代理日志验证。不要把含凭证 URL 写入共享脚本、命令历史或截图。本节不提供 SOCKS5\u002F`ALL_PROXY` 配置承诺，因为当前可核实的官方读取链未确认支持它们。",{"type":31,"children":64},[65],{"text":66,"type":29},"临时使用后可清除本节设置的变量：PowerShell 用 `Remove-Item Env:HTTP_PROXY,Env:HTTPS_PROXY -ErrorAction SilentlyContinue`；Linux\u002FmacOS 用 `unset HTTP_PROXY HTTPS_PROXY`。若变量原本已存在，先记录原值并在结束后恢复。",{"type":25,"level":21,"children":68},[69],{"text":70,"type":29},"检查 Gemini CLI 是否经过代理并连通服务",{"type":31,"children":72},[73],{"text":74,"type":29},"从设置变量的同一终端发起一条低风险主模型请求，结合代理侧连接日志确认该请求是否经过代理。MCP、沙箱和工具子进程需分别验证各自网络路径。CLI 无法连接代理时，可参照已发布的[代理 IP 连接排查表](https:\u002F\u002Fwww.quanqiudaili.com\u002Fblog\u002Fproxy-ip-connection-troubleshooting)检查主机、端口和认证。",{"type":76,"children":77},"code",[78],{"text":79,"type":29},"| 现象 | 检查项 | 下一步 |\n| --- | --- | --- |\n| CLI 未读代理设置 | 变量名称、大小写、启动终端及版本行为 | 对照当前版本官方说明 |\n| 代理认证失败 | 主机、端口、凭证格式和凭证字符转义 | 修正接入参数并保护凭证 |\n| 网络正常但服务报错 | CLI\u002FAPI 认证、配额、服务状态和请求参数 | 按服务端错误分层排查 |",{"type":25,"level":21,"children":81},[82],{"text":83,"type":29},"FAQ",{"type":25,"level":85,"children":86},3,[87],{"text":88,"type":29},"设置 `HTTPS_PROXY` 后，怎么确认 Gemini CLI 确实走了代理？",{"type":31,"children":90},[91],{"text":92,"type":29},"从设置变量的同一终端启动 CLI，发起一条低风险请求，并结合进程环境、客户端或代理日志、出口检测确认请求路径。仅看到变量已设置，不能证明当前版本的 CLI 已读取它。",{"type":25,"level":85,"children":94},[95],{"text":96,"type":29},"HTTP 和 SOCKS5 哪个更适合？",{"type":31,"children":98},[99],{"text":100,"type":29},"本文示例使用 HTTP(S) 代理变量。当前版本是否支持其它代理协议，应查该版本文档；设置未确认读取的变量不能证明请求已使用相应代理。协议本身也不能说明代理 IP 的住宅\u002F机房属性或业务结果。","",[103,221,322],{"source":6,"id":104,"documentId":105,"translationKey":105,"locale":9,"slug":106,"path":107,"_path":107,"title":108,"description":109,"excerpt":109,"image":110,"publishedAt":111,"updatedAt":112,"author":17,"tags":113,"featured":19,"sortOrder":20,"readingTime":85,"bodyType":22,"bodyBlocks":114,"bodyHtml":101},3475,"x4a9q0bme23m2tka73ym65lm","nginx-websocket-400-502-504-troubleshooting","\u002Fblog\u002Fnginx-websocket-400-502-504-troubleshooting","Nginx WebSocket 反向代理排查：400、502、504 与超时","Nginx WebSocket 反向代理返回 400、502 或 504 时，按 Upgrade 握手、上游连接和超时日志逐项排查，并用 curl 与 websocat 验证配置。","https:\u002F\u002Fcms.quanqiudaili.com\u002Fuploads\u002Flarge_nginx_websocket_400_502_504_cover_a2295cdc39.webp","2026-10-20T09:42:46.326Z","2026-10-20T09:42:46.313Z",[],[115,119,123,127,131,135,139,143,147,151,155,159,163,167,171,175,179,183,187,190,194,198,202,206,209,213,217],{"type":31,"children":116},[117],{"text":118,"type":29},"Nginx WebSocket 反向代理返回 400、502 或 504 时，先记录响应状态并对照 Nginx 和上游日志。本文排查的是 Nginx 到上游的反向代理链路；400 优先检查请求或握手，502 检查上游连接与响应，504 检查上游响应时间和超时设置。状态码只能指示排查方向，根因要结合日志确认。",{"type":25,"level":21,"children":120},[121],{"text":122,"type":29},"配好 Upgrade 和 Connection 转发头",{"type":31,"children":124},[125],{"text":126,"type":29},"先确认客户端是否发送 WebSocket 握手请求。Nginx 反向代理通常需要使用 HTTP\u002F1.1，并将 Upgrade 与 Connection 头转给上游。配置结构如下，需放在正确的 `http`、`server` 或 `location` 层级，并按实际上游调整。",{"type":31,"children":128},[129],{"text":130,"type":29},"可对照 [Nginx 官方 WebSocket 代理说明](https:\u002F\u002Fnginx.org\u002Fen\u002Fdocs\u002Fhttp\u002Fwebsocket.html)检查 Upgrade 转发行为；具体指令以部署版本文档为准。",{"type":31,"children":132},[133],{"text":134,"type":29},"```nginx\nproxy_http_version 1.1;\nproxy_set_header Upgrade $http_upgrade;\nproxy_set_header Connection $connection_upgrade;\nproxy_set_header Host $host;\nproxy_connect_timeout 5s;\nproxy_read_timeout 60s;\n```",{"type":31,"children":136},[137],{"text":138,"type":29},"上例假设已在 `http` 层用 `map $http_upgrade $connection_upgrade { default upgrade; '' close; }` 定义 `$connection_upgrade`，并配置了对应 `proxy_pass` 和上游；按实际上游替换。`5s` 与 `60s` 只是示例值，需依据网络和心跳要求调整。`proxy_connect_timeout` 限制建立上游连接的等待时间；`proxy_read_timeout` 限制两次从上游读取数据之间的空闲间隔，不能修复连接拒绝或错误握手。",{"type":31,"children":140},[141],{"text":142,"type":29},"超时指令的版本和上下文限制见 [Nginx 官方 proxy 模块文档](https:\u002F\u002Fnginx.org\u002Fen\u002Fdocs\u002Fhttp\u002Fngx_http_proxy_module.html#proxy_read_timeout)。",{"type":31,"children":144},[145],{"text":146,"type":29},"随后查看客户端网络面板，确认失败发生在握手阶段还是握手之后。",{"type":25,"level":21,"children":148},[149],{"text":150,"type":29},"看 400、502、504 判断请求卡在哪一环",{"type":76,"children":152},[153],{"text":154,"type":29},"| 状态码 | 优先检查 | 证据位置 | 后续动作 |\n| --- | --- | --- | --- |\n| 400 | 请求路径、Upgrade\u002FConnection 头、上游对握手的校验 | 客户端请求、Nginx access log、上游响应 | 对照协议要求和上游路由，不盲目延长超时 |\n| 502 | 上游地址\u002F端口、连接拒绝、DNS 解析及上游进程状态 | Nginx error log、上游服务日志 | 先从 Nginx 主机验证到上游的连接 |\n| 504 | 上游处理时间、连接\u002F读取超时设置、服务负载 | error log 时间戳、上游耗时和负载 | 找出等待发生在哪一跳，再评估超时配置 |",{"type":31,"children":156},[157],{"text":158,"type":29},"用 access log 中的时间、URI、状态码及上游状态\u002F耗时字段找到请求，再查看对应的 error log 和上游日志，确认请求是否到达上游、在哪一跳失败。不同版本和上游实现的返回状态可能不同，应沿同一请求的日志链路判断。",{"type":25,"level":21,"children":160},[161],{"text":162,"type":29},"用客户端和两端日志复现并定位故障",{"type":31,"children":164},[165],{"text":166,"type":29},"记录 Nginx 版本、脱敏后的相关配置、目标路径、发生时间、响应状态、请求 ID 和上游日志。先验证客户端到 Nginx，再验证 Nginx 到上游；每次只调整一个配置项后复测。不要公开 token、Cookie、Authorization 头或内网敏感地址。",{"type":31,"children":168},[169],{"text":170,"type":29},"配置变更后先检查语法，再平滑重载，并分别验证普通 HTTP 与 WebSocket 握手。以下命令需在 Nginx 主机执行，域名和路径按环境替换：",{"type":31,"children":172},[173],{"text":174,"type":29},"```bash\nsudo nginx -t\nsudo nginx -s reload\ncurl -i https:\u002F\u002Fexample.com\u002Fws\nwebsocat -v wss:\u002F\u002Fexample.com\u002Fws\n```",{"type":31,"children":176},[177],{"text":178,"type":29},"`nginx -t` 失败时不要 reload。普通 curl 通常没有发送完整 Upgrade 握手，不能用它判定 WebSocket 成功；`websocat` 应完成握手并建立连接，成功响应为 `101 Switching Protocols`。结合 Nginx access\u002Ferror log 中的 `$upstream_status`、`$upstream_connect_time` 和 `$upstream_response_time` 定位失败阶段。",{"type":25,"level":21,"children":180},[181],{"text":182,"type":29},"根据日志区分握手失败、上游连接失败和响应超时",{"type":31,"children":184},[185],{"text":186,"type":29},"请求未到达上游时，检查 Nginx 配置、DNS 和连接；上游返回 400 时核对 Upgrade\u002FConnection 请求头、路径和上游校验；上游连接被拒绝或出现 502 时检查地址、端口及服务状态；只有日志显示请求已到达上游且等待超过当前限制时，才按官方 proxy 模块文档评估超时。每次只改一个配置项，并用相同路径复测。",{"type":25,"level":21,"children":188},[189],{"text":83,"type":29},{"type":25,"level":85,"children":191},[192],{"text":193,"type":29},"`proxy_read_timeout` 调大后仍返回 504，下一步看什么？",{"type":31,"children":195},[196],{"text":197,"type":29},"按正文日志分支确认请求是否到达上游、等待发生在哪一跳，再检查上游耗时和服务负载；不要只通过继续增大超时处理上游不可用或链路异常。",{"type":25,"level":85,"children":199},[200],{"text":201,"type":29},"`curl` 返回 200 就能证明 WebSocket 正常吗？",{"type":31,"children":203},[204],{"text":205,"type":29},"不能。普通 curl 请求不一定发送 WebSocket Upgrade 握手；应使用 WebSocket 客户端验证，并确认握手成功返回 `101 Switching Protocols`，再观察连接是否按预期维持。",{"type":31,"children":207},[208],{"text":101,"type":29},{"type":31,"children":210},[211],{"text":212,"type":29},"---",{"type":25,"level":21,"children":214},[215],{"text":216,"type":29},"对照日志复测 WebSocket 修复结果",{"type":31,"children":218},[219],{"text":220,"type":29},"按失败请求的时间戳复核 access\u002Ferror log 与上游日志，再用相同路径确认握手是否返回 101、连接能否维持。若故障发生在客户端代理 IP 到 Nginx 之前，应另查客户端到代理的连接链路。",{"source":6,"id":222,"documentId":223,"translationKey":223,"locale":9,"slug":224,"path":225,"_path":225,"title":226,"description":227,"excerpt":227,"image":228,"publishedAt":229,"updatedAt":230,"author":17,"tags":231,"featured":19,"sortOrder":20,"readingTime":21,"bodyType":22,"bodyBlocks":232,"bodyHtml":101},3474,"k1c5f17zwlsh9vx5sz4dolif","websocket-proxy-connection-troubleshooting","\u002Fblog\u002Fwebsocket-proxy-connection-troubleshooting","WebSocket 代理 IP 连接失败怎么办：认证、TLS 与 Upgrade 排查","WebSocket 通过代理 IP 连接失败时，可按代理连接、认证、TLS 隧道和 Upgrade 握手逐步排查，并用最小验证确认故障环节。","https:\u002F\u002Fcms.quanqiudaili.com\u002Fuploads\u002Flarge_websocket_cover_3f066ac782.webp","2026-10-20T09:42:30.996Z","2026-10-20T09:42:30.971Z",[],[233,237,241,245,249,253,257,261,265,269,273,277,281,285,289,292,296,300,304,308,311,314,318],{"type":31,"children":234},[235],{"text":236,"type":29},"WebSocket 通过代理 IP 连接失败时，先确定使用的是客户端正向代理还是服务端反向代理，再判断失败发生在 TCP 连接、代理认证、TLS 还是 WebSocket Upgrade 阶段。按时间戳保存客户端错误、代理日志和目标服务响应；只有证据指向代理连接或会话问题时，才继续调整代理参数。",{"type":25,"level":21,"children":238},[239],{"text":240,"type":29},"先确认失败在代理连接、TLS 还是 WebSocket 握手",{"type":31,"children":242},[243],{"text":244,"type":29},"常见路径是客户端连接代理，再通过代理到达目标服务，随后完成 TLS（如使用 WSS）和 WebSocket 握手。若 Nginx 在服务端作为反向代理，应按 Nginx 反向代理链路单独排查；不要把两种代理角色混为一谈。主机、端口、认证或连接问题可参考已发布的[代理 IP 连接排查表](https:\u002F\u002Fwww.quanqiudaili.com\u002Fblog\u002Fproxy-ip-connection-troubleshooting)。",{"type":25,"level":21,"children":246},[247],{"text":248,"type":29},"从客户端错误判断连接失败在哪一步",{"type":76,"children":250},[251],{"text":252,"type":29},"| 现象 | 可能阶段 | 检查内容 | 下一步 |\n| --- | --- | --- | --- |\n| 无法连接代理地址 | 客户端到代理 | 主机、端口、协议、网络连通性 | 验证接入参数及本地网络 |\n| 407 或代理认证失败 | 代理认证 | 用户名、密码、认证类型和 URL 转义 | 修正凭证并避免在日志中泄露 |\n| TLS 错误或握手中断 | TLS\u002F隧道 | 客户端是否支持该代理协议及目标 TLS | 查看客户端错误和代理日志 |\n| HTTP 响应正常但 Upgrade 失败 | WebSocket 握手\u002F目标服务 | Upgrade 请求头、目标路径、服务端响应 | 核对客户端与目标服务配置 |\n| 连接建立后很快断开 | 会话\u002F网络链路 | 空闲超时、心跳、代理会话和目标端日志 | 固定条件复现并记录断开时间 |",{"type":31,"children":254},[255],{"text":256,"type":29},"HTTP、HTTPS、SOCKS5 是接入协议，不代表住宅或数据中心属性。客户端是否支持 WebSocket 通过特定代理协议，应查其当前文档；不要根据协议名称推断兼容性。",{"type":25,"level":21,"children":258},[259],{"text":260,"type":29},"从代理连接开始验证，直到收到 Upgrade 响应",{"type":31,"children":262},[263],{"text":264,"type":29},"记录客户端版本、脱敏后的目标 URL、代理协议、错误信息、发生时间和连接时长。先用客户端连接测试或受控目标确认目标服务可用，再对照[代理参数说明](https:\u002F\u002Fhelp.quanqiudaili.com\u002Fdocs\u002Fintro)核对主机、端口和认证参数；随后分别验证代理认证、TLS 和 WebSocket Upgrade 响应。每轮只改一个变量，并保存客户端、代理和目标服务日志。遇到 403、429 或验证码时，按目标站规则停止或调整请求。",{"type":31,"children":266},[267],{"text":268,"type":29},"下面的 `proxy.example.com`、端口和 URL 都是占位值；命令用 curl 检查 HTTP(S) 代理连通性，不能单独证明 WebSocket Upgrade 成功。凭证优先通过受保护的环境变量传入，避免写进命令历史或截图：",{"type":31,"children":270},[271],{"text":272,"type":29},"```bash\ncurl -v --proxy http:\u002F\u002Fproxy.example.com:8080 \\\n--proxy-user \"$PROXY_USER:$PROXY_PASS\" \\\nhttps:\u002F\u002Fexample.com\u002F -o \u002Fdev\u002Fnull\n```",{"type":31,"children":274},[275],{"text":276,"type":29},"先看代理连接是否建立及是否出现 `407`。目标返回正常 HTTP 响应仅表示普通请求经代理完成，不代表 Upgrade 成功。WebSocket 验证应使用客户端连接实际 `wss:\u002F\u002F` 地址，并检查服务端是否返回 `101 Switching Protocols`；若收到 `400\u002F403` 等响应，记录状态和响应头，并按目标规则停止不必要重试。",{"type":31,"children":278},[279],{"text":280,"type":29},"curl 示例只验证普通 HTTP(S) 经代理的连接，不能代替 WebSocket 握手。实际 WSS 验证需使用明确支持 HTTP CONNECT 或 SOCKS 代理的 WebSocket 客户端，并连到自有测试端；核对代理认证成功、握手返回 `101`、消息可收发且连接可正常关闭。客户端及其代理参数因库和版本不同，只有核验具体客户端后才应给出可复制命令；不要把不确定支持代理的工具当作验证步骤。",{"type":25,"level":21,"children":282},[283],{"text":284,"type":29},"按连接阶段判断应该检查哪一端",{"type":31,"children":286},[287],{"text":288,"type":29},"代理连接或认证失败时，核对代理主机、端口、协议和认证；TLS 隧道失败时，查看客户端支持范围及 TLS 错误；代理已连通但 Upgrade 失败时，检查目标路径、握手请求和服务端响应；建立后很快断开时，检查空闲超时、心跳和会话规则。若问题发生在 Nginx 到上游的反向代理链路，应按对应 Nginx WebSocket 配置排查。每轮只调整一个变量。",{"type":25,"level":21,"children":290},[291],{"text":83,"type":29},{"type":25,"level":85,"children":293},[294],{"text":295,"type":29},"HTTP 代理也能承载 WebSocket 吗？",{"type":31,"children":297},[298],{"text":299,"type":29},"取决于客户端和代理是否支持相应的隧道或 Upgrade 流程。不要单凭协议名称判断兼容性；用实际客户端连接目标 `ws:\u002F\u002F` 或 `wss:\u002F\u002F` 地址，并检查握手响应及连接日志。",{"type":25,"level":85,"children":301},[302],{"text":303,"type":29},"连接失败时应先换代理 IP 吗？",{"type":31,"children":305},[306],{"text":307,"type":29},"先定位失败阶段。只有证据指向代理连接、认证或隧道问题时，才考虑调整代理；目标服务或应用层错误应检查对应配置。",{"type":31,"children":309},[310],{"text":101,"type":29},{"type":31,"children":312},[313],{"text":212,"type":29},{"type":25,"level":21,"children":315},[316],{"text":317,"type":29},"按故障位置复核 WebSocket 连接配置",{"type":31,"children":319},[320],{"text":321,"type":29},"把失败时间、代理协议、客户端版本、阶段、状态码和脱敏日志交给客户端或代理服务支持团队；若确认故障位于 Nginx 到上游链路，再按对应反向代理配置排查。",{"source":6,"id":323,"documentId":324,"translationKey":324,"locale":9,"slug":325,"path":326,"_path":326,"title":327,"description":328,"excerpt":328,"image":329,"publishedAt":330,"updatedAt":331,"author":17,"tags":332,"featured":19,"sortOrder":20,"readingTime":85,"bodyType":22,"bodyBlocks":333,"bodyHtml":101},3473,"nm26jgeam0am8xxpl2snrjoh","proxy-ip-monthly-cost-traffic-requests-sessions-retries","\u002Fblog\u002Fproxy-ip-monthly-cost-traffic-requests-sessions-retries","代理 IP 月成本怎么算：计费方式、流量与重试成本","代理 IP 月成本要结合计费方式、流量、请求量、端口或会话时长及重试估算。本文说明常见计费方式、换算公式和采购核对项。","https:\u002F\u002Fcms.quanqiudaili.com\u002Fuploads\u002Flarge_ip_cover_9b69c55b25.webp","2026-10-20T09:42:16.057Z","2026-10-20T09:42:16.041Z",[],[334,338,342,346,350,354,358,362,379,383,387,401,405,409,413,417,421,425,429,433,437,441,445,449,453,457,460,464,468,472,476,479,482,486],{"type":31,"children":335},[336],{"text":337,"type":29},"估算代理 IP 月成本，先确认套餐按流量、使用时长还是其他周期计费，再用同一业务任务的账单记录估算消耗。按流量计费可用“月流量 × 流量单价”估算，按时间计费可用“所需 IP 数 × 周期单价 × 覆盖周期”估算；最后再计入重试、闲置和套餐条件。没有实际单价或账单时，只能整理变量，不能把估算值当作报价。",{"type":25,"level":21,"children":339},[340],{"text":341,"type":29},"先看清代理 IP 套餐按什么单位收费",{"type":31,"children":343},[344],{"text":345,"type":29},"估算前先记录任务、目标地区、请求规模、并发、会话时长和计费周期。不同产品及套餐的计费单位可能不同，应逐项核对当前产品页面、账户账单及有效期规则，不要仅凭住宅或机房类型推断计费方式。采购前还可参考已发布的[代理 IP 套餐、价格与计费方式核对清单](https:\u002F\u002Fwww.quanqiudaili.com\u002Fblog\u002Fproxy-ip-pricing-types-buying-checklist)，核对套餐周期、最低购买量及附加条件。",{"type":76,"children":347},[348],{"text":349,"type":29},"| 需要确认 | 记录内容 | 对估算的影响 |\n| --- | --- | --- |\n| 计费单位 | 流量、时长或套餐周期 | 决定计算方式 |\n| 任务规模 | 首次请求数、并发和有效请求数 | 影响资源用量 |\n| 请求体量 | 每次请求的上下行流量 | 影响流量费用 |\n| 会话要求 | 会话时长、是否需要连续出口 | 影响资源类型和购买周期 |\n| 失败重试 | 平均重试次数、失败请求是否计费 | 影响实际消耗 |",{"type":25,"level":21,"children":351},[352],{"text":353,"type":29},"按代理 IP 的请求量、流量和使用时长估算基础费用",{"type":31,"children":355},[356],{"text":357,"type":29},"先从试用或账单中区分“首次请求数”和“总尝试次数”。例如，一个首次请求失败后重试两次，总尝试次数为三次。平均重试次数按“总尝试次数 ÷ 首次请求数 − 1”计算。",{"type":31,"children":359},[360],{"text":361,"type":29},"**按流量计费：**",{"type":363,"format":364,"children":365},"list","unordered",[366,371,375],{"type":367,"children":368},"list-item",[369],{"text":370,"type":29},"平均每次尝试流量 = 测试总计费流量 ÷ 总尝试次数。",{"type":367,"children":372},[373],{"text":374,"type":29},"预计月流量 = 平均每次尝试流量 × 预计月首次请求数 ×（1 + 平均重试次数）。",{"type":367,"children":376},[377],{"text":378,"type":29},"预计月费用 = 预计月流量 × 当前流量单价，再按套餐最低购买量、阶梯价和有效期规则调整。",{"type":31,"children":380},[381],{"text":382,"type":29},"如果服务按上下行合计计费，测试总流量需包含上传和下载。平均尝试流量已经包含重试请求的实际消耗时，不能再将重试流量重复加进单次流量。",{"type":31,"children":384},[385],{"text":386,"type":29},"**按时间计费：**",{"type":363,"format":364,"children":388},[389,393,397],{"type":367,"children":390},[391],{"text":392,"type":29},"基础月费用 = 所需代理 IP 数 × 单 IP 周期价格 × 月内覆盖周期数。",{"type":367,"children":394},[395],{"text":396,"type":29},"按日、周或月购买时，周期不足整月的费用按供应商规则折算。",{"type":367,"children":398},[399],{"text":400,"type":29},"另行估算闲置 IP、扩容和支持成本。",{"type":31,"children":402},[403],{"text":404,"type":29},"有效请求成本 = 周期内代理费用 ÷ 成功完成的请求数。该指标用于比较相同任务的实际消耗；如不同方案的成功定义或测试条件不同，不能直接横向比较。",{"type":25,"level":85,"children":406},[407],{"text":408,"type":29},"流量、请求和端口计费分别怎么算",{"type":31,"children":410},[411],{"text":412,"type":29},"以下数字只演示换算方法，不是任何服务商报价。假设月首次请求量为 100,000 次，平均每次尝试总流量为 0.5 MB，含重试的总尝试次数按“首次请求 × (1+r)”计算；示例单价仅为演算输入，实际采购须替换为报价和账单口径。统一按十进制单位：1 GB = 1,000 MB。",{"type":76,"children":414},[415],{"text":416,"type":29},"| 计费方式 | 假设单价与需求 | 无额外尝试（r=0） | 平均额外尝试 r=0.1 | 平均额外尝试 r=0.2 |\n| --- | --- | ---: | ---: | ---: |\n| 流量计费 | 0.5 MB\u002F次；$2\u002FGB | 100,000×0.5 MB=50 GB；$100 | 55 GB；$110 | 60 GB；$120 |\n| 请求计费 | $0.001\u002F次 | 100,000 次；$100 | 110,000 次；$110 | 120,000 次；$120 |\n| 端口\u002F会话周期计费 | 10 个端口；$30\u002F端口月；月内固定租用 | $300 | $300* | $300* |",{"type":31,"children":418},[419],{"text":420,"type":29},"`*` 仅在端口\u002F会话按整月固定计费、重试不增加端口数或租用时长时成立；如果重试延长会话、触发额外并发端口或按时长计费，应按账单重新计算。流量和请求算例假定每次重试与首次尝试消耗相同；真实任务应以试用统计的平均值替换。按小时\u002F天计费时，用实际占用总端口小时数乘小时单价，不能套用整月固定端口算例。",{"type":31,"children":422},[423],{"text":424,"type":29},"令 `r` 表示每个首次请求平均增加的尝试次数（例如 `r=0.1` 表示每 10 个首次请求平均多 1 次尝试），它不是“至少重试过一次的请求比例”。流量费 = 首次请求数 × (1+r) × 单次尝试 GB × 每 GB 单价；请求费 = 首次请求数 × (1+r) × 每次请求单价。从 `r=0` 增到 `0.1` 时，费用增加无重试基准费用的 10%；从 `r=0.1` 增到 `0.2` 时，费用仍增加无重试基准费用的 10%，相对 `r=0.1` 时的当前费用则增加约 9.09%。固定周期费只有资源数量或占用时长变化才增加。",{"type":25,"level":21,"children":426},[427],{"text":428,"type":29},"把重试和闲置资源也计入月账单",{"type":31,"children":430},[431],{"text":432,"type":29},"把候选方案放在同一任务、同一周期和同一验收条件下比较。除了资源费，还要考虑失败重试、闲置资源、排查人力和业务中断成本。长期连续会话可评估静态住宅代理 IP；多地区短会话可评估动态住宅代理 IP；目标任务对住宅属性要求不高时，再考虑数据中心代理 IP。各产品的实际计费规则仍以对应产品页面和账户账单为准。方案比较表聚焦“有效成功请求成本”，即周期总成本除以按同一业务定义成功完成的请求数，不与资源单价混为一项。",{"type":76,"children":434},[435],{"text":436,"type":29},"| 方案 | 资源费用 | 有效请求数 | 重试与闲置成本 | 售后和限制 | 周期总成本 |\n| --- | --- | --- | --- | --- | --- |\n| 方案 A | 按实际单价计算 | 按同一任务记录 | 依据账单填写 | 按当前条款核对 | 资源费与附加成本合计 |\n| 方案 B | 按实际单价计算 | 按同一任务记录 | 依据账单填写 | 按当前条款核对 | 资源费与附加成本合计 |",{"type":25,"level":21,"children":438},[439],{"text":440,"type":29},"试用时记录请求次数、流量和实际扣费",{"type":31,"children":442},[443],{"text":444,"type":29},"用相同目标、请求规模和测试时段记录原始数据：首次请求数、总尝试次数、成功请求数、状态码、计费流量或时长及账单前后差值。遇到 403、429 或验证码时，按目标站规则停止或调整请求；不要通过反复请求来凑出成功率。程序化汇总用量可参考已发布的[代理 IP 套餐计费与用量统计](https:\u002F\u002Fwww.quanqiudaili.com\u002Fblog\u002Fdots-proxy-ip-pricing-plans)。",{"type":76,"children":446},[447],{"text":448,"type":29},"| 日期\u002F时段 | 任务与地区 | 首次请求\u002F总尝试 | 成功请求 | 计费流量或时长 | 重试与错误 | 账单变化 |\n| --- | --- | --- | --- | --- | --- | --- |\n| 按实际试用填写 | 按任务记录 | 分开统计 | 按预先定义的成功条件统计 | 以账户数据为准 | 记录状态码与次数 | 记录测试前后差值 |",{"type":25,"level":21,"children":450},[451],{"text":452,"type":29},"对比月成本前，核对套餐限制和附加费用",{"type":31,"children":454},[455],{"text":456,"type":29},"向服务商确认流量统计方式、超额处理、套餐有效期、退款或更换条件、地区范围和支持渠道；价格与政策以当前购买页面或书面回复为准。采购比较按“试用账单 → 估算月用量 → 换算周期总费用 → 除以成功请求数”进行；账单不足时先在相同条件下补充试用，不把估算值写成确定报价。购买前核对项可参考已发布的[代理 IP 套餐、价格与计费方式核对清单](https:\u002F\u002Fwww.quanqiudaili.com\u002Fblog\u002Fproxy-ip-pricing-types-buying-checklist)。",{"type":25,"level":21,"children":458},[459],{"text":83,"type":29},{"type":25,"level":85,"children":461},[462],{"text":463,"type":29},"重试会增加代理 IP 成本吗？",{"type":31,"children":465},[466],{"text":467,"type":29},"取决于产品如何统计失败请求及上下行流量。用试用账单比较请求前后的用量，并确认超时、重复下载是否产生计费。",{"type":25,"level":85,"children":469},[470],{"text":471,"type":29},"请求计费和端口计费怎么换算成月成本？",{"type":31,"children":473},[474],{"text":475,"type":29},"请求计费可按周期内总请求数乘每次请求单价估算；固定端口按端口数乘周期单价计算，按时计费则按实际占用端口时长乘小时单价。把重试导致的额外请求、流量或占用时长一并计入，并按账单确认计费口径。",{"type":31,"children":477},[478],{"text":101,"type":29},{"type":31,"children":480},[481],{"text":212,"type":29},{"type":25,"level":21,"children":483},[484],{"text":485,"type":29},"用账单数据确认月度代理 IP 成本",{"type":31,"children":487},[488],{"text":489,"type":29},"按账单确认实际用量和计费单位，换算周期总费用后再比较有效成功请求成本。",[491],{"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":492,"featured":19,"sortOrder":20,"readingTime":21,"bodyType":22,"bodyBlocks":493,"bodyHtml":101},[],[494,497,500,503,506,509,512,515,518,521,524,527,530,533,536,539,542,545],{"type":25,"level":26,"children":495},[496],{"text":12,"type":29},{"type":31,"children":498},[499],{"text":34,"type":29},{"type":25,"level":21,"children":501},[502],{"text":38,"type":29},{"type":31,"children":504},[505],{"text":42,"type":29},{"type":25,"level":21,"children":507},[508],{"text":46,"type":29},{"type":31,"children":510},[511],{"text":50,"type":29},{"type":31,"children":513},[514],{"text":54,"type":29},{"type":31,"children":516},[517],{"text":58,"type":29},{"type":31,"children":519},[520],{"text":62,"type":29},{"type":31,"children":522},[523],{"text":66,"type":29},{"type":25,"level":21,"children":525},[526],{"text":70,"type":29},{"type":31,"children":528},[529],{"text":74,"type":29},{"type":76,"children":531},[532],{"text":79,"type":29},{"type":25,"level":21,"children":534},[535],{"text":83,"type":29},{"type":25,"level":85,"children":537},[538],{"text":88,"type":29},{"type":31,"children":540},[541],{"text":92,"type":29},{"type":25,"level":85,"children":543},[544],{"text":96,"type":29},{"type":31,"children":546},[547],{"text":100,"type":29},null,[],[]]