You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何启动带身份验证代理的Chrome并通过Puppeteer完成代理认证

问题解决方法

第一步:修正Chrome启动参数语法错误

你当前使用的启动参数中--user-data-dir的参数值缺少尾部闭合双引号,会导致后续--proxy-server参数被识别为用户数据目录路径的一部分,代理配置未实际生效,先修正为以下格式:

chrome --remote-debugging-port=${port} --user-data-dir="C:\\Users\\USER\\AppData\\Local\\Google\\Chrome\\User Data" --proxy-server=http://host:port

认证不生效的核心原因

page.authenticate() 仅对调用方法后当前页面实例发起的网络请求生效,如果调用方法前页面已经触发了代理407认证请求、或者Chrome全局已经发起过代理认证并缓存了失败状态,单页面的认证配置就不会生效。

解决方案

方案1:全局监听页面创建提前注入认证

监听所有新页面创建事件,在页面发起任何网络请求前就完成认证配置:

const browserURL = `http://127.0.0.1:9222`;
const browser = await puppeteer.connect({browserURL, defaultViewport : null });
const username = "username";
const password = "password";

// 所有新页面创建时优先设置认证
browser.on('targetcreated', async (target) => {
  if (target.type() === 'page') {
    const page = await target.page();
    await page.authenticate({ username, password });
  }
});

// 后续正常创建页面访问即可
const page = await browser.newPage();
await page.goto('需要访问的目标地址');

方案2:动态设置代理避免提前触发认证

如果方案1不生效,说明Chrome启动后已经触发过代理认证并缓存了失败状态,可去掉启动参数中的--proxy-server配置,等Puppeteer连接成功后通过CDP协议动态设置代理,确保认证配置早于代理生效:

  1. 调整后的Chrome启动参数:
chrome --remote-debugging-port=${port} --user-data-dir="C:\\Users\\USER\\AppData\\Local\\Google\\Chrome\\User Data"
  1. 调整后的Puppeteer代码:
const browserURL = `http://127.0.0.1:9222`;
const browser = await puppeteer.connect({browserURL, defaultViewport : null });
const username = "username";
const password = "password";

// 提前绑定所有页面的认证配置
browser.on('targetcreated', async (target) => {
  if (target.type() === 'page') {
    const page = await target.page();
    await page.authenticate({ username, password });
  }
});

// 动态设置全局代理
const page = await browser.newPage();
await page.authenticate({ username, password });
await page._client.send('Network.setProxy', {
  proxyRules: 'http://host:port',
  bypassList: '<local>'
});

// 正常访问目标地址
await page.goto('需要访问的目标地址');

注意事项

如果使用的代理为SOCKS5/HTTPS类型,需要将proxyRules的前缀替换为对应类型,比如socks5://host:port、https://host:port。


内容的提问来源于stack exchange,提问作者Donald trump

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.17 15:54:03