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

如何用Puppeteer连接代理服务器?多种配置尝试后仍失败

Puppeteer 21.1.1 代理配置失败解决方案

全局代理(启动浏览器时生效)

你之前的方式一参数格式有误,正确的--proxy-server参数需要用等号连接地址,且无需添加http://前缀。调整后的代码:

const browser = await puppeteer.launch({
    headless: false,
    defaultViewport: null,
    args: [
        '--start-fullscreen',
        '--proxy-server=ip:port' // 替换为实际代理IP和端口
    ]
});

隐身上下文代理(仅该上下文内页面生效)

方式二的问题在于没有使用创建好的隐身上下文打开页面,仅创建上下文不会自动应用到原有页面。正确流程:

const browser = await puppeteer.launch({
    headless: false,
    defaultViewport: null,
    args: ['--start-fullscreen']
});
// 创建带代理的隐身上下文
const proxyContext = await browser.createIncognitoBrowserContext({
    proxyServer: 'ip:port' // 替换为实际代理IP和端口,无需http://前缀
});
// 必须通过该上下文打开页面才会走代理
const page = await proxyContext.newPage();

验证代理是否生效

打开页面后访问httpbin.org/ip,查看返回的IP地址是否与代理IP一致:

await page.goto('http://httpbin.org/ip');
const ipInfo = await page.$eval('pre', el => el.textContent);
console.log(ipInfo);

额外排查点

  • 先通过curl -x ip:port http://httpbin.org/ip测试代理本身是否可用,排除代理服务故障。
  • 确保代理地址无拼写错误,端口号正确。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 00:00:09