[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"blog-strapi-article:zh:playwright-puppeteer-settings-proxy-local-ip-troubleshooting":3,"blog-article:\u002Fblog\u002Fplaywright-puppeteer-settings-proxy-local-ip-troubleshooting":807,"blog-related:\u002Fblog\u002Fplaywright-puppeteer-settings-proxy-local-ip-troubleshooting":808,"blog-translations:\u002Fblog\u002Fplaywright-puppeteer-settings-proxy-local-ip-troubleshooting":809},{"available":4,"article":5,"relatedArticles":234,"translations":650},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":233},"strapi",2480,"ky8e1w979kcb1tluncfhr17l","zh","playwright-puppeteer-settings-proxy-local-ip-troubleshooting","\u002Fblog\u002Fplaywright-puppeteer-settings-proxy-local-ip-troubleshooting","Playwright\u002FPuppeteer 设置代理后仍暴露本地 IP 怎么排查？","Playwright 或 Puppeteer 设置代理后仍显示本地 IP 时，按启动参数、认证、HTTP 出口、DNS、WebRTC 和子请求定位，并用代码验证配置是否生效。","https:\u002F\u002Fcms.quanqiudaili.com\u002Fuploads\u002Flarge_playwright_puppeteer_ip_cover_6a140247d7.webp","2026-09-03T03:45:07.363Z","2026-09-03T03:45:07.342Z","Global Proxies Team",[],false,0,4,"blocks",[24,30,36,40,45,49,54,58,62,66,70,74,78,82,86,90,94,98,102,106,110,114,118,122,125,129,133,137,141,145,149,153,157,161,165,169,173,177,181,185,189,193,197,201,205,209,213,217,221,225,229],{"type":25,"children":26},"paragraph",[27],{"text":28,"type":29},"Playwright 或 Puppeteer 设置代理后仍显示本地 IP，先不要同时修改代理 IP、浏览器版本和脚本。正确顺序是：确认代理参数在浏览器启动前生效，再分别检查页面 HTTP 出口、DNS、WebRTC，以及 WebSocket、Service Worker、下载等子请求。HTTP 出口已经变成代理 IP，但 WebRTC 页面仍显示局域网地址，不等于所有网页请求都在直连，两类结果需要分开判断。","text",{"type":31,"level":32,"children":33},"heading",2,[34],{"text":35,"type":29},"先准备同一组代理参数和两个检测地址",{"type":25,"children":37},[38],{"text":39,"type":29},"从后台确认协议、主机、端口、账号和密码，测试时不要在日志里输出完整密码。准备两个地址：一个只返回公网出口 IP，另一个是实际目标 URL。先测出口，再测目标站，才能区分“代理没有生效”和“代理已生效但目标站拒绝访问”。",{"type":41,"children":42},"code",[43],{"text":44,"type":29},"| 要记录的字段 | 用途 |\n| --- | --- |\n| 浏览器与框架版本 | 排除版本差异 |\n| 有头或无头模式 | 判断模式差异 |\n| 代理协议、主机、端口 | 核对启动参数 |\n| HTTP 出口 IP | 判断页面请求是否经过代理 IP |\n| DNS、WebRTC 结果 | 判断额外暴露面 |\n| 失败请求类型 | 区分页面、WebSocket、下载等链路 |",{"type":31,"level":32,"children":46},[47],{"text":48,"type":29},"Playwright：在启动浏览器时传入代理参数",{"type":31,"level":50,"children":51},3,[52],{"text":53,"type":29},"在 Playwright 启动阶段配置代理 IP",{"type":25,"children":55},[56],{"text":57,"type":29},"代码中的 `HOST`、`PORT`、`USERNAME` 和 `PASSWORD` 代表实际交付参数；调试时使用环境变量或密钥管理工具注入，不要把真实认证信息写进仓库。",{"type":25,"children":59},[60],{"text":61,"type":29},"```javascript\nimport { chromium } from 'playwright';",{"type":25,"children":63},[64],{"text":65,"type":29},"const browser = await chromium.launch({\nheadless: true,\nproxy: {\nserver: 'http:\u002F\u002FHOST:PORT',\nusername: 'USERNAME',\npassword: 'PASSWORD',\n},\n});",{"type":25,"children":67},[68],{"text":69,"type":29},"const context = await browser.newContext();\nconst page = await context.newPage();",{"type":25,"children":71},[72],{"text":73,"type":29},"await page.goto('https:\u002F\u002Fapi.ipify.org?format=json', {\nwaitUntil: 'domcontentloaded',\ntimeout: 30000,\n});\nconsole.log(await page.textContent('body'));",{"type":25,"children":75},[76],{"text":77,"type":29},"await browser.close();\n```",{"type":31,"level":50,"children":79},[80],{"text":81,"type":29},"如何验证 Playwright 代理是否生效",{"type":25,"children":83},[84],{"text":85,"type":29},"预期结果是页面返回的公网 IP 与代理出口一致。如果仍是本地公网 IP，优先检查 `server` 的协议、主机和端口，以及是否复用了一个没有代理参数的旧 browser 实例。只在 `newContext()` 后修改普通请求头，不能替代浏览器启动阶段的代理配置。",{"type":25,"children":87},[88],{"text":89,"type":29},"排查时先保存浏览器版本、框架版本、运行模式和检测页返回值。若 HTTP 出口已经正确，再单独记录 DNS 和 WebRTC 检测结果。",{"type":25,"children":91},[92],{"text":93,"type":29},"Playwright 的代理参数可对照[官方网络文档](https:\u002F\u002Fplaywright.dev\u002Fdocs\u002Fnetwork#http-proxy)。",{"type":25,"children":95},[96],{"text":97,"type":29},"需要核对代理协议、主机、端口和认证字段时，可查看[代理设置帮助](https:\u002F\u002Fhelp.quanqiudaili.com\u002Fdocs\u002Fproxy-Settings)。",{"type":31,"level":32,"children":99},[100],{"text":101,"type":29},"Puppeteer 中分别配置启动参数与代理认证",{"type":31,"level":50,"children":103},[104],{"text":105,"type":29},"配置 Puppeteer 启动参数和代理认证",{"type":25,"children":107},[108],{"text":109,"type":29},"```javascript\nimport puppeteer from 'puppeteer';",{"type":25,"children":111},[112],{"text":113,"type":29},"const browser = await puppeteer.launch({\nheadless: true,\nargs: ['--proxy-server=http:\u002F\u002FHOST:PORT'],\n});",{"type":25,"children":115},[116],{"text":117,"type":29},"const page = await browser.newPage();\nawait page.authenticate({\nusername: 'USERNAME',\npassword: 'PASSWORD',\n});",{"type":25,"children":119},[120],{"text":121,"type":29},"await page.goto('https:\u002F\u002Fapi.ipify.org?format=json', {\nwaitUntil: 'domcontentloaded',\ntimeout: 30000,\n});\nconsole.log(await page.evaluate(() => document.body.innerText));",{"type":25,"children":123},[124],{"text":77,"type":29},{"type":31,"level":50,"children":126},[127],{"text":128,"type":29},"如何区分 407 与浏览器启动失败",{"type":25,"children":130},[131],{"text":132,"type":29},"若返回 407，说明请求已经到达代理认证环节，但账号、密码或认证方式不匹配。若浏览器启动失败，先单独验证代理主机和端口是否可连接，再检查 Chromium 启动参数；不要把 407 当成目标站拒绝访问。",{"type":31,"level":32,"children":134},[135],{"text":136,"type":29},"HTTP 出口正确后，再查 DNS 和 WebRTC",{"type":25,"children":138},[139],{"text":140,"type":29},"检测项要按层次解释：",{"type":25,"children":142},[143],{"text":144,"type":29},"1. **HTTP 出口仍是本地公网 IP**：代理启动参数未生效、浏览器实例复用错误，或当前请求不在被接管的浏览器内。\n2. **HTTP 出口正确，DNS 显示本地运营商**：继续检查浏览器 DNS 行为、系统解析和客户端设置；不要仅凭 DNS 结果判定页面请求直连。\n3. **HTTP 出口正确，WebRTC 显示局域网地址**：这是浏览器实时通信能力暴露的本地候选地址，需要单独限制或禁用不需要的 WebRTC 功能，但它不自动证明普通 HTTP 请求未走代理。\n4. **三项都正确，目标站仍报 403、429 或验证码**：转向目标站规则、账号状态、Cookie、请求频率和浏览器环境排查。",{"type":25,"children":146},[147],{"text":148,"type":29},"DNS 检测应记录解析位置和目标域名，WebRTC 检测应区分公网候选地址与局域网候选地址；两者都要在同一浏览器版本和代理参数下重复验证。",{"type":31,"level":32,"children":150},[151],{"text":152,"type":29},"排查未继承浏览器代理的请求类型",{"type":25,"children":154},[155],{"text":156,"type":29},"在 DevTools 网络面板或框架事件里记录失败 URL 和资源类型。页面主请求、iframe、WebSocket、Service Worker、扩展请求和下载并不一定表现相同。如果脚本还调用了浏览器外部的 Node.js HTTP 客户端，那部分请求不会自动继承浏览器的代理配置，需要在对应客户端中单独设置。",{"type":25,"children":158},[159],{"text":160,"type":29},"Playwright 可用 `page.on('requestfailed', ...)` 记录失败请求：",{"type":25,"children":162},[163],{"text":164,"type":29},"```javascript\npage.on('requestfailed', request => {\nconsole.log(request.resourceType(), request.url(), request.failure());\n});\n```",{"type":31,"level":32,"children":166},[167],{"text":168,"type":29},"用四组单变量实验定位本地 IP 泄漏原因",{"type":41,"children":170},[171],{"text":172,"type":29},"| 对照组 | 只改变什么 | 结果怎么解释 |\n| --- | --- | --- |\n| A | 有头与无头模式 | 只有一种模式异常，检查版本与功能差异 |\n| B | 开启与关闭浏览器扩展 | 关闭后恢复，检查扩展自带网络请求或连接设置 |\n| C | 保持脚本不变，只换一个已验证代理 IP | 只在少数出口异常，再查出口质量或地区识别 |\n| D | 保持代理 IP 不变，只换检测 URL | 检测页正常、目标站异常，转查目标站规则 |",{"type":25,"children":174},[175],{"text":176,"type":29},"每组至少记录浏览器版本、时间、出口 IP、状态码和失败请求。不要一次同时换 UA、Cookie、代理 IP 和浏览器版本，否则无法归因。",{"type":31,"level":32,"children":178},[179],{"text":180,"type":29},"确认不是代理问题后停止更换代理 IP",{"type":25,"children":182},[183],{"text":184,"type":29},"如果同一代理 IP 在出口检测页显示正确，而目标站持续返回权限、账号或平台政策提示，应先处理提示；继续更换代理 IP 没有诊断价值。如果只有已异常账号失败，也要先排除账号状态，不建议反复登录测试。",{"type":25,"children":186},[187],{"text":188,"type":29},"代理参数以 [Playwright 官方文档](https:\u002F\u002Fplaywright.dev\u002Fdocs\u002Fnetwork#http-proxy)和 [Puppeteer 官方文档](https:\u002F\u002Fpptr.dev\u002Fapi\u002Fpuppeteer.browserlaunchargumentoptions)为准；具体浏览器行为请结合当前版本文档和实际环境验证。",{"type":31,"level":32,"children":190},[191],{"text":192,"type":29},"FAQ",{"type":31,"level":50,"children":194},[195],{"text":196,"type":29},"系统代理能代替浏览器启动参数吗？",{"type":25,"children":198},[199],{"text":200,"type":29},"不能一概而论。自动化任务应优先在浏览器启动阶段明确传入代理参数，避免依赖机器上可能变化的系统设置。",{"type":31,"level":50,"children":202},[203],{"text":204,"type":29},"WebRTC 显示本地地址就代表网页请求直连吗？",{"type":25,"children":206},[207],{"text":208,"type":29},"不代表。先用公网出口检测确认 HTTP 请求，再把 WebRTC 作为独立暴露面处理。",{"type":31,"level":50,"children":210},[211],{"text":212,"type":29},"出口正确但 WebSocket 失败怎么办？",{"type":25,"children":214},[215],{"text":216,"type":29},"记录 WebSocket URL、握手状态和错误信息，并确认它是否由当前浏览器实例发起。若是脚本中的独立客户端发起，需要单独配置代理。",{"type":31,"level":50,"children":218},[219],{"text":220,"type":29},"什么时候考虑更换代理 IP 类型？",{"type":25,"children":222},[223],{"text":224,"type":29},"短时多地区公开采样可评估动态住宅代理 IP；需要连续登录环境的任务更适合静态住宅代理 IP。先完成链路排查，再根据会话需求选型。",{"type":25,"children":226},[227],{"text":228,"type":29},"---",{"type":25,"children":230},[231],{"text":232,"type":29},"完成上述检查后，再按业务会话和地区需求评估[动态住宅代理 IP](https:\u002F\u002Fwww.quanqiudaili.com\u002Fproduct\u002Fdynamic-residential)。","",[235,370,524],{"source":6,"id":236,"documentId":237,"translationKey":237,"locale":9,"slug":238,"path":239,"_path":239,"title":240,"description":241,"excerpt":241,"image":242,"publishedAt":243,"updatedAt":244,"author":17,"tags":245,"featured":19,"sortOrder":20,"readingTime":32,"bodyType":22,"bodyBlocks":246,"bodyHtml":233},2627,"s72n0bjt3ja39uo12fljzmtq","dynamic-residential-proxy-ip-static-residential","\u002Fblog\u002Fdynamic-residential-proxy-ip-static-residential","动态住宅代理 IP 适合哪些业务？和静态住宅代理 IP 怎么选？","动态住宅代理 IP 适合多地区采样、价格监测与批量测试，静态住宅代理 IP 更适合长期登录和账号运营；上线前检查出口稳定性与连通性，选对方案再扩量。","https:\u002F\u002Fcms.quanqiudaili.com\u002Fuploads\u002Flarge_ip_cover_8edd536e12.webp","2026-09-10T06:35:36.797Z","2026-09-10T06:35:36.670Z",[],[247,251,255,259,280,284,288,292,296,300,304,308,312,316,320,324,328,331,335,339,343,347,351,355,359,363,366],{"type":25,"children":248},[249],{"text":250,"type":29},"动态住宅代理 IP 更适合短会话、多地区轮换、公开采样和批量测试；静态住宅代理 IP 更适合长期登录、店铺后台和广告账户。选择时先看业务能否接受出口变化，再比较地区、会话时长、协议、认证方式和成本。",{"type":31,"level":32,"children":252},[253],{"text":254,"type":29},"哪些业务适合动态住宅代理 IP",{"type":25,"children":256},[257],{"text":258,"type":29},"价格监测、广告展示核对、搜索结果观察、公开页面采样和多地区测试，通常更重视 IP 数量与轮换效率。动态住宅代理 IP 可按请求或粘性会话切换，适合彼此独立、无需保持同一出口的短会话。",{"type":260,"format":261,"children":262},"list","unordered",[263,268,272,276],{"type":264,"children":265},"list-item",[266],{"text":267,"type":29},"价格监测：每次请求可以使用不同出口，便于抽样多个地区和运营商，减少为保持单一身份而付出的会话成本。",{"type":264,"children":269},[270],{"text":271,"type":29},"广告展示核对：轮换出口能观察不同本地网络视角，适合发现广告素材、落地页或地区定向的变化；但预算、频控和 Cookie 仍要固定。",{"type":264,"children":273},[274],{"text":275,"type":29},"搜索结果观察：同一关键词在多个出口上采样，便于区分地区差异与单个出口的偶然结果，不需要让所有请求长期绑定一个 IP。",{"type":264,"children":277},[278],{"text":279,"type":29},"公开页面采样和多地区测试：请求彼此独立、失败后可换出口重试，轮换效率通常比长期保持同一出口更重要。",{"type":31,"level":32,"children":281},[282],{"text":283,"type":29},"哪些长期任务不适合使用动态住宅代理 IP？",{"type":25,"children":285},[286],{"text":287,"type":29},"长期登录、店铺后台、广告账户和支付后台更依赖稳定出口身份，通常优先测试静态住宅代理 IP，并保持设备指纹、语言、时区和操作节奏一致。静态住宅代理 IP 也不代表平台一定放行，仍需结合账号和环境判断。",{"type":31,"level":32,"children":289},[290],{"text":291,"type":29},"动态住宅代理 IP 和静态住宅代理 IP 怎么选",{"type":41,"children":293},[294],{"text":295,"type":29},"| 判断项 | 动态住宅代理 IP | 静态住宅代理 IP |\n| --- | --- | --- |\n| 主要任务 | 短时采样、多地区轮换 | 长期登录、稳定身份 |\n| 出口变化 | 可按请求或会话切换 | 在服务有效且配置不变时保持同一出口；异常更换或服务状态变化仍需核对 |\n| 重点确认 | 切换规则、会话时长、流量计费 | 独享性、持续可用性、周期计费 |",{"type":25,"children":297},[298],{"text":299,"type":29},"如果同时进行数据采样和账号操作，建议分别使用两套环境，避免出口变化互相干扰。",{"type":31,"level":32,"children":301},[302],{"text":303,"type":29},"购买动态或静态住宅代理 IP 前，要确认哪些产品参数？",{"type":25,"children":305},[306],{"text":307,"type":29},"动态住宅代理 IP 要确认切换规则、粘性会话、并发和流量计费；静态住宅代理 IP 要确认周期、独享性、地区、协议和异常更换规则。规格和价格以购买页、后台或客户经理确认为准。可参考[动态住宅代理 IP](https:\u002F\u002Fwww.quanqiudaili.com\u002Fproduct\u002Fdynamic-residential)、[静态住宅代理 IP](https:\u002F\u002Fwww.quanqiudaili.com\u002Fproduct\u002Fstatic-residential-standard)和[原生静态住宅代理 IP](https:\u002F\u002Fwww.quanqiudaili.com\u002Fproduct\u002Fstatic-residential-native)。",{"type":31,"level":32,"children":309},[310],{"text":311,"type":29},"动态住宅和静态住宅代理 IP 上线前，如何做对照验证？",{"type":25,"children":313},[314],{"text":315,"type":29},"固定账号、设备和目标网站，只改变代理 IP 类型；例如对短时采样记录每 100 次请求的地区跳变和验证码次数，对长期登录记录 24 小时内会话中断次数，再决定是否放量。",{"type":25,"children":317},[318],{"text":319,"type":29},"为了让记录可比较，可以先用下表的“示意区间”设计验收表，再替换成自己的真实观测值。数字仅演示记录格式，不是行业基准、供应商承诺或本文实测结论：",{"type":41,"children":321},[322],{"text":323,"type":29},"| 指标（固定同一目标站） | 动态住宅代理 IP：示意记录 | 静态住宅代理 IP：示意记录 | 如何解读 |\n| --- | --- | --- | --- |\n| 每 100 次请求的地区跳变 | 约 60–90 次 | 约 0–5 次 | 动态是否达到轮换预期，静态是否保持地区稳定 |\n| 每 100 次请求的验证码触发 | 约 3–12 次 | 约 0–4 次 | 不能单独归因于 IP，还要记录账号、设备和请求节奏 |\n| 24 小时会话中断 | 不作为主要验收项，记录实际次数 | 约 0–2 次 | 静态长期任务重点看中断原因和恢复方式 |",{"type":25,"children":325},[326],{"text":327,"type":29},"正式测试时应把每次出口、时间戳、状态码、地区库结果和截图一起保存；如果结果落在区间外，先复核目标站策略、Cookie、DNS\u002FWebRTC 和并发条件，再决定是否更换代理类型。",{"type":31,"level":32,"children":329},[330],{"text":192,"type":29},{"type":31,"level":50,"children":332},[333],{"text":334,"type":29},"并发和计费如何确认？",{"type":25,"children":336},[337],{"text":338,"type":29},"向购买页或客户经理确认并发上限、按流量还是按请求计费，以及失败请求是否计费，再用小样本核对账单口径。",{"type":31,"level":50,"children":340},[341],{"text":342,"type":29},"动态住宅代理 IP 和静态住宅代理 IP 怎么选？",{"type":25,"children":344},[345],{"text":346,"type":29},"能接受出口变化且需要轮换，优先测试动态住宅代理 IP；需要长期身份，优先测试静态住宅代理 IP。",{"type":31,"level":50,"children":348},[349],{"text":350,"type":29},"动态会话为什么不能保证精确时长？",{"type":25,"children":352},[353],{"text":354,"type":29},"会话可能受网络、资源回收和服务策略影响。查看产品支持请求切换还是粘性会话，并确认触发切换条件，不要按绝对在线时长理解。",{"type":31,"level":50,"children":356},[357],{"text":358,"type":29},"出现验证码就应该换成静态住宅代理 IP 吗？",{"type":25,"children":360},[361],{"text":362,"type":29},"不一定。先区分 IP、地区、设备环境、账号行为和平台规则，确认问题与出口变化有关后再切换。",{"type":25,"children":364},[365],{"text":228,"type":29},{"type":25,"children":367},[368],{"text":369,"type":29},"决策清单：能接受出口变化且任务是短会话采样，就先测动态资源；需要长期登录或同一身份，就先测静态资源；两者都先固定账号和设备做小样本验证，再按地区跳变、会话中断和验证码记录决定是否放量。",{"source":6,"id":371,"documentId":372,"translationKey":372,"locale":9,"slug":373,"path":374,"_path":374,"title":375,"description":376,"excerpt":376,"image":377,"publishedAt":378,"updatedAt":379,"author":17,"tags":380,"featured":19,"sortOrder":20,"readingTime":50,"bodyType":22,"bodyBlocks":381,"bodyHtml":233},2626,"xjjqi8xoqk9a83tbvj5nzi6r","sstap-proxy-ip-mode-guide","\u002Fblog\u002Fsstap-proxy-ip-mode-guide","SSTap 代理模式怎么选：全局、规则和游戏\u002F网页访问差异","SSTap 全局、规则和游戏模式怎么选，如何先确认代理 IP 和协议，再验证网页、游戏和 DNS 是否真正走代理。","\u002Fimages\u002Flogo-middle.gif","2026-09-10T06:35:19.885Z","2026-09-10T06:35:19.869Z",[],[382,386,390,394,398,402,406,410,414,418,422,426,430,434,438,442,446,450,454,458,462,466,470,474,478,481,485,489,493,497,501,505,509,513,517,520],{"type":25,"children":383},[384],{"text":385,"type":29},"SSTap 代理模式怎么选，取决于你要接管的是全部流量、指定网站，还是某个进程。不同版本的 SSTap 可能将相关功能称为“全局”“规则”“进程”或“游戏模式”，具体名称应以当前客户端界面为准。下面按流量接管范围说明选择方法。模式决定哪些流量经过代理 IP，不能替代代理 IP 类型和出口地区的选择。",{"type":25,"children":387},[388],{"text":389,"type":29},"如果只是验证一个网页，先把目标域名加入规则；如果要判断整机出口，再短时间切到全局；游戏则单独确认进程是否被接管。SSTap 代理模式本身不会修复协议、端口或账号限制。",{"type":31,"level":32,"children":391},[392],{"text":393,"type":29},"SSTap 全局、规则与进程接管应该按什么场景选择？",{"type":25,"children":395},[396],{"text":397,"type":29},"三种模式的核心差别是“哪些流量会经过代理 IP”，而不是代理 IP 本身变了。选择时先按目标任务分流，再检查规则是否真正命中。",{"type":41,"children":399},[400],{"text":401,"type":29},"| 模式 | 影响范围 | 适合场景 | 注意事项 |\n| --- | --- | --- | --- |\n| 规则模式 | 指定域名或应用 | 单个网站、指定应用 | 依赖域名也要命中规则 |\n| 全局模式 | 更多系统流量 | 临时验证整机出口 | 增加流量消耗并影响无关应用 |\n| 进程接管（部分版本称游戏模式） | 指定进程及相关连接 | 游戏或应用连接测试 | 网页正常不代表目标进程已经经过代理 IP |",{"type":31,"level":50,"children":403},[404],{"text":405,"type":29},"什么时候应该使用全局模式？",{"type":25,"children":407},[408],{"text":409,"type":29},"全局模式会让更多系统流量经过代理，适合临时验证整机出口、排查某个应用是否受本地网络影响，或需要多个网页统一使用同一代理 IP 的情况。它也会影响无关应用，可能增加延迟和流量消耗，因此不适合长期无差别开启。",{"type":31,"level":50,"children":411},[412],{"text":413,"type":29},"只让指定网站或应用走代理时，怎么用规则模式？",{"type":25,"children":415},[416],{"text":417,"type":29},"规则模式按域名、程序或规则列表分流，适合只让指定网站或应用使用代理 IP。使用前要确认目标域名及其依赖域名都命中规则；如果网页能打开但登录、图片或接口失败，往往是依赖域名没有一起匹配。",{"type":31,"level":50,"children":419},[420],{"text":421,"type":29},"游戏连接时，什么时候应该使用进程接管？",{"type":25,"children":423},[424],{"text":425,"type":29},"部分版本把针对游戏的配置称为“游戏模式”，也有版本直接使用进程规则。应把目标游戏程序加入规则，确认进程路径和相关域名，并按游戏实际支持的代理协议和端口要求测试；无法在当前版本找到该名称时，以规则\u002F进程入口为准。",{"type":31,"level":50,"children":427},[428],{"text":429,"type":29},"第一次配置 SSTap，不确定选哪种模式怎么办？",{"type":25,"children":431},[432],{"text":433,"type":29},"只测试一个网页或应用，先用规则模式；需要确认整机是否统一经过代理，再短时间使用全局模式；主要解决游戏连接，则使用进程规则（部分版本称游戏模式）并单独验证游戏进程。测试完成后关闭不必要的全局代理，避免把本地其他流量一并转发。",{"type":31,"level":32,"children":435},[436],{"text":437,"type":29},"在 SSTap 中填写代理前，要先核对哪些信息？",{"type":25,"children":439},[440],{"text":441,"type":29},"先从代理服务商获取协议、主机、端口和认证信息。HTTP、HTTPS 或 SOCKS5 必须与服务商提供的格式一致，主机和端口不要混填；使用规则模式时还要确认规则文件已加载，使用进程规则（部分版本称游戏模式）时要确认目标进程路径正确。认证信息应以服务商提供的接入格式为准，不能把某一种认证方式当作所有 SSTap 配置的必填项。",{"type":31,"level":32,"children":443},[444],{"text":445,"type":29},"怎么确认网页和游戏真的走了代理 IP？",{"type":25,"children":447},[448],{"text":449,"type":29},"先在网页中记录出口 IP、地区和 DNS，再打开目标游戏或应用进行连接测试。网页正常、游戏失败时，优先检查游戏进程规则、协议兼容性和目标端口；网页和游戏都失败时，再回到主机、端口、认证和本地网络排查。每次只修改一个变量，并记录测试时间和错误提示，才方便判断是模式问题还是代理 IP 本身的问题。",{"type":31,"level":50,"children":451},[452],{"text":453,"type":29},"脱敏记录应该包含哪些字段？",{"type":25,"children":455},[456],{"text":457,"type":29},"下面是一份记录格式示例，版本、时间、出口 IP 和状态码均为演示值；`203.0.113.0\u002F24`、`198.51.100.0\u002F24` 属于文档保留地址，不能当作真实代理结果。发布前应替换为实际测试中脱敏后的值。",{"type":25,"children":459},[460],{"text":461,"type":29},"**测试条件（示例）**：SSTap 1.1.0（示例版本，需按当前客户端核对）、Windows 11 23H2、同一 SOCKS5 账号、同一网页和游戏服务器、测试时间 2026-09-10 14:00–14:20（UTC+8）。",{"type":41,"children":463},[464],{"text":465,"type":29},"| 模式 | 流量 | 出口 IP（脱敏示例） | DNS 结果 | 状态\u002F错误提示（示例） |\n| --- | --- | --- | --- | --- |\n| 规则模式 | 网页 | `203.0.113.42` | `192.0.2.53` | HTTP 200，页面地区为代理国家 |\n| 规则模式 | 游戏进程 | 本地出口 | 本地 DNS | `connection timeout`，进程未命中规则 |\n| 全局模式 | 网页 | `198.51.100.17` | `192.0.2.54` | HTTP 200，网页与 DNS 均经代理 |\n| 全局模式 | 游戏进程 | `198.51.100.17` | `192.0.2.54` | 连接成功；记录实际延迟和服务器返回 |\n| 进程接管 | 网页 | 本地出口 | 本地 DNS | HTTP 200，网页未纳入进程规则 |\n| 进程接管 | 游戏进程 | `203.0.113.42` | `192.0.2.53` | 记录连接结果、端口和错误提示 |",{"type":25,"children":467},[468],{"text":469,"type":29},"记录时应同时保存时间戳、规则命中日志、出口 IP 查询结果和截图。示例中的“成功”或“超时”只说明如何填写，不能据此推断某个 SSTap 版本、协议或代理服务的真实表现。",{"type":31,"level":32,"children":471},[472],{"text":473,"type":29},"SSTap 模式选对后，什么时候还要评估静态住宅代理 IP？",{"type":25,"children":475},[476],{"text":477,"type":29},"短时网页测试、多地区采样或公开页面观察，可先测试动态住宅代理 IP；需要长期保持同一出口身份的登录或后台场景，再评估静态住宅代理 IP。模式选择解决的是流量范围，动态或静态解决的是出口变化方式，两者应分开判断。",{"type":31,"level":32,"children":479},[480],{"text":192,"type":29},{"type":31,"level":50,"children":482},[483],{"text":484,"type":29},"只想让一个网页走代理 IP，应选什么模式？",{"type":25,"children":486},[487],{"text":488,"type":29},"优先使用规则模式，并把目标域名及其登录、接口和静态资源域名一并纳入规则。",{"type":31,"level":50,"children":490},[491],{"text":492,"type":29},"全局模式下网页能打开但游戏不能连接怎么办？",{"type":25,"children":494},[495],{"text":496,"type":29},"检查游戏进程是否被 SSTap 接管、游戏要求的代理协议和端口是否匹配，再用同一代理 IP 做单独测试。",{"type":31,"level":50,"children":498},[499],{"text":500,"type":29},"如何确认没有 DNS 泄漏？",{"type":25,"children":502},[503],{"text":504,"type":29},"分别在网页和应用环境检查 DNS 解析结果，并结合出口 IP、地区和 WebRTC 检测。发现本地 DNS 或真实 IP 时，先检查 SSTap 接管范围和系统网络设置。",{"type":31,"level":50,"children":506},[507],{"text":508,"type":29},"SSTap 适合长期登录业务吗？",{"type":25,"children":510},[511],{"text":512,"type":29},"要看业务是否要求长期稳定的出口身份。长期登录通常应优先评估静态住宅代理 IP，并保持代理、浏览器环境、语言和时区的一致性。",{"type":25,"children":514},[515],{"text":516,"type":29},"可参考[Windows SSTap 代理设置](https:\u002F\u002Fhelp.quanqiudaili.com\u002Fdocs\u002Fproxy-Settings\u002FWindows-Setting\u002Fwindows-sstap)以及  [SSTap-Rule 规则示例](https:\u002F\u002Fgithub.com\u002FFQrabbit\u002FSSTap-Rule) 。第三方规则仓库不代表官方版本，导入前请核对当前客户端入口。",{"type":25,"children":518},[519],{"text":228,"type":29},{"type":25,"children":521},[522],{"text":523,"type":29},"先按流量范围选择 SSTap 模式，再验证实际出口 IP、DNS 和网页或游戏连接。模式选对后，仍要根据业务是否需要长期稳定身份，评估动态住宅代理 IP 或静态住宅代理 IP。",{"source":6,"id":525,"documentId":526,"translationKey":526,"locale":9,"slug":527,"path":528,"_path":528,"title":529,"description":530,"excerpt":530,"image":531,"publishedAt":532,"updatedAt":533,"author":17,"tags":534,"featured":19,"sortOrder":20,"readingTime":32,"bodyType":22,"bodyBlocks":535,"bodyHtml":233},2625,"ja6v6kipzvga8o0j6j7aymd4","hubstudio-proxy-check-failed","\u002Fblog\u002Fhubstudio-proxy-check-failed","Hubstudio 指纹浏览器代理检测失败怎么办？","Hubstudio 指纹浏览器代理检测失败时，先按网络、协议和认证方式排查，再确认出口与地区。","https:\u002F\u002Fcms.quanqiudaili.com\u002Fuploads\u002Flarge_hubstudio_cover_7dc1032b80.webp","2026-09-10T06:35:04.112Z","2026-09-10T06:35:04.099Z",[],[536,540,544,548,552,556,560,564,568,572,576,580,584,588,592,596,600,603,607,611,615,619,623,627,631,635,639,643,646],{"type":25,"children":537},[538],{"text":539,"type":29},"Hubstudio 指纹浏览器检测代理 IP 失败时，先确认海外网络环境或加速通道，再检查套餐是否到期、流量是否用尽和资源状态，最后核对代理参数、Hubstudio 配置和认证方式。不要在未确认错误类型前反复更换代理 IP。",{"type":31,"level":32,"children":541},[542],{"text":543,"type":29},"Hubstudio 代理检测失败时，先区分超时、连接拒绝和认证失败",{"type":25,"children":545},[546],{"text":547,"type":29},"超时多与网络或端口有关，连接拒绝常见于协议或端口错误，认证失败则检查账号密码和认证方式。保留错误提示，便于后续与服务商核对。",{"type":41,"children":549},[550],{"text":551,"type":29},"| 错误类型 | 常见原因 | 优先检查 |\n| --- | --- | --- |\n| 超时 | 本机网络、端口不可达、资源失效 | 网络、主机、端口 |\n| 连接拒绝 | 协议或端口不匹配 | HTTP\u002FHTTPS\u002FSOCKS5 与对应端口 |\n| 认证失败 | 账号密码错误或认证方式不匹配 | 认证方式和凭证 |\n| 检测成功但出口异常 | 环境绑定或 DNS\u002FWebRTC 泄漏 | 出口 IP、地区、DNS\u002FWebRTC |",{"type":31,"level":32,"children":553},[554],{"text":555,"type":29},"如何核对 Hubstudio 的代理配置字段？",{"type":25,"children":557},[558],{"text":559,"type":29},"常见入口是“新建\u002F编辑环境 → 代理设置”。可以先按下面的字段映射逐项填写，再保存并启用环境：",{"type":31,"level":50,"children":561},[562],{"text":563,"type":29},"主机和端口",{"type":25,"children":565},[566],{"text":567,"type":29},"“主机”填写服务商提供的域名或 IP，例如 `proxy.example.com`；“端口”填写对应数字端口，例如 `10000`。不要把带协议前缀的完整 URL 粘进主机框，也不要把端口写进账号字段。",{"type":31,"level":50,"children":569},[570],{"text":571,"type":29},"协议",{"type":25,"children":573},[574],{"text":575,"type":29},"在“协议\u002F代理类型”中选择服务商实际提供的 HTTP、HTTPS 或 SOCKS5。示例：服务商给出 `SOCKS5 proxy.example.com:10000`，Hubstudio 就选择 SOCKS5、主机填 `proxy.example.com`、端口填 `10000`；协议选错时常见表现是连接被拒绝或握手失败。",{"type":31,"level":50,"children":577},[578],{"text":579,"type":29},"账号和密码",{"type":25,"children":581},[582],{"text":583,"type":29},"启用账号密码认证时，在“账号\u002F用户名”填 `demo_user`、在“密码”填服务商生成的密码，并确认没有复制换行或空格。不要在未要求时额外填写白名单、公网 IP 或二次认证字段。",{"type":25,"children":585},[586],{"text":587,"type":29},"保存后先用 IP 检测页验证出口国家\u002F城市、DNS 和 WebRTC，再判断环境是否真正可用。",{"type":31,"level":32,"children":589},[590],{"text":591,"type":29},"Hubstudio 代理检测失败时，如何按网络、代理参数和认证逐步验证？",{"type":25,"children":593},[594],{"text":595,"type":29},"先在本机确认海外网络或加速通道，再用同一组信息测试代理连通；随后在 Hubstudio 中保存并启用配置，重新检测，最后打开 IP 检测页确认出口和地区。超时继续查网络\u002F端口，连接拒绝查协议，`407 Proxy Authentication Required` 优先查账号、密码和认证方式。只有在服务商明确为“动态住宅代理 IP + API 提取”配置了来源白名单时，才核对当前公网出口是否在白名单内；普通账号密码接入不要默认要求白名单。出口异常再查环境绑定与 DNS\u002FWebRTC。",{"type":25,"children":597},[598],{"text":599,"type":29},"例如，Hubstudio 返回 `407 Proxy Authentication Required` 时，先用同一账号在服务商提供的接入方式重试：若仍为 407，通常是凭证失效、认证方式选错或账号未开通；若服务商确认该 API 提取方案启用了来源白名单，再补查公网出口是否匹配。若返回 `connection refused`，则优先把协议和端口与订单信息逐字对照，而不是反复改密码。",{"type":31,"level":32,"children":601},[602],{"text":192,"type":29},{"type":31,"level":50,"children":604},[605],{"text":606,"type":29},"主机端口都正确但仍失败怎么办？",{"type":25,"children":608},[609],{"text":610,"type":29},"继续核对协议、账号密码、认证方式和复制内容中的空格。只有服务商明确要求来源白名单（例如动态住宅代理 IP 的 API 提取场景）时，才确认当前公网出口是否已加入；账号密码模式不应默认配置白名单。",{"type":31,"level":50,"children":612},[613],{"text":614,"type":29},"不同认证方式可以同时使用吗？",{"type":25,"children":616},[617],{"text":618,"type":29},"通常应按服务商指定的单一认证方式配置，不要自行混用。",{"type":31,"level":50,"children":620},[621],{"text":622,"type":29},"检测通过后还要检查什么？",{"type":25,"children":624},[625],{"text":626,"type":29},"检查出口 IP、地区、DNS\u002FWebRTC 和目标网站访问；检测通过只代表代理连通。",{"type":31,"level":50,"children":628},[629],{"text":630,"type":29},"Hubstudio 中应选择动态还是静态住宅代理 IP？",{"type":25,"children":632},[633],{"text":634,"type":29},"短时、多地区任务可测试动态住宅代理 IP；长期登录更适合评估静态住宅代理 IP。",{"type":25,"children":636},[637],{"text":638,"type":29},"可参考[Hubstudio 代理设置教程](https:\u002F\u002Fhelp.quanqiudaili.com\u002Fdocs\u002Fproxy-Settings\u002FFingerprint-Browser-Setting\u002FHubstudio)。",{"type":25,"children":640},[641],{"text":642,"type":29},"可同时参阅 [Hubstudio 官方帮助中心](https:\u002F\u002Fsupport-orig.hubstudio.cn\u002F)。如果当前版本没有完全相同的字段名称，以官方模板和客户端当前界面为准。",{"type":25,"children":644},[645],{"text":228,"type":29},{"type":25,"children":647},[648],{"text":649,"type":29},"定位并修复网络、代理参数或认证问题后，再验证出口 IP、地区、DNS\u002FWebRTC 和目标网站结果，不能只凭客户端的检测提示判断代理已经可用。",[651],{"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":652,"featured":19,"sortOrder":20,"readingTime":21,"bodyType":22,"bodyBlocks":653,"bodyHtml":233},[],[654,657,660,663,666,669,672,675,678,681,684,687,690,693,696,699,702,705,708,711,714,717,720,723,726,729,732,735,738,741,744,747,750,753,756,759,762,765,768,771,774,777,780,783,786,789,792,795,798,801,804],{"type":25,"children":655},[656],{"text":28,"type":29},{"type":31,"level":32,"children":658},[659],{"text":35,"type":29},{"type":25,"children":661},[662],{"text":39,"type":29},{"type":41,"children":664},[665],{"text":44,"type":29},{"type":31,"level":32,"children":667},[668],{"text":48,"type":29},{"type":31,"level":50,"children":670},[671],{"text":53,"type":29},{"type":25,"children":673},[674],{"text":57,"type":29},{"type":25,"children":676},[677],{"text":61,"type":29},{"type":25,"children":679},[680],{"text":65,"type":29},{"type":25,"children":682},[683],{"text":69,"type":29},{"type":25,"children":685},[686],{"text":73,"type":29},{"type":25,"children":688},[689],{"text":77,"type":29},{"type":31,"level":50,"children":691},[692],{"text":81,"type":29},{"type":25,"children":694},[695],{"text":85,"type":29},{"type":25,"children":697},[698],{"text":89,"type":29},{"type":25,"children":700},[701],{"text":93,"type":29},{"type":25,"children":703},[704],{"text":97,"type":29},{"type":31,"level":32,"children":706},[707],{"text":101,"type":29},{"type":31,"level":50,"children":709},[710],{"text":105,"type":29},{"type":25,"children":712},[713],{"text":109,"type":29},{"type":25,"children":715},[716],{"text":113,"type":29},{"type":25,"children":718},[719],{"text":117,"type":29},{"type":25,"children":721},[722],{"text":121,"type":29},{"type":25,"children":724},[725],{"text":77,"type":29},{"type":31,"level":50,"children":727},[728],{"text":128,"type":29},{"type":25,"children":730},[731],{"text":132,"type":29},{"type":31,"level":32,"children":733},[734],{"text":136,"type":29},{"type":25,"children":736},[737],{"text":140,"type":29},{"type":25,"children":739},[740],{"text":144,"type":29},{"type":25,"children":742},[743],{"text":148,"type":29},{"type":31,"level":32,"children":745},[746],{"text":152,"type":29},{"type":25,"children":748},[749],{"text":156,"type":29},{"type":25,"children":751},[752],{"text":160,"type":29},{"type":25,"children":754},[755],{"text":164,"type":29},{"type":31,"level":32,"children":757},[758],{"text":168,"type":29},{"type":41,"children":760},[761],{"text":172,"type":29},{"type":25,"children":763},[764],{"text":176,"type":29},{"type":31,"level":32,"children":766},[767],{"text":180,"type":29},{"type":25,"children":769},[770],{"text":184,"type":29},{"type":25,"children":772},[773],{"text":188,"type":29},{"type":31,"level":32,"children":775},[776],{"text":192,"type":29},{"type":31,"level":50,"children":778},[779],{"text":196,"type":29},{"type":25,"children":781},[782],{"text":200,"type":29},{"type":31,"level":50,"children":784},[785],{"text":204,"type":29},{"type":25,"children":787},[788],{"text":208,"type":29},{"type":31,"level":50,"children":790},[791],{"text":212,"type":29},{"type":25,"children":793},[794],{"text":216,"type":29},{"type":31,"level":50,"children":796},[797],{"text":220,"type":29},{"type":25,"children":799},[800],{"text":224,"type":29},{"type":25,"children":802},[803],{"text":228,"type":29},{"type":25,"children":805},[806],{"text":232,"type":29},null,[],[]]