【问题标题】:puppeteer ignoring args pass for proxy pac urlpuppeteer 忽略代理 pac url 的参数传递
【发布时间】:2021-03-07 20:19:49
【问题描述】:

我正在尝试使用 pac 文件作为 puppeteer 代理设置的参数,如下所示:https://www.chromium.org/developers/design-documents/network-settings

--proxy-pac-url=<pac-file-url>

这是我的代码,

const puppeteer = require('puppeteer');
(async() => {
    const proxyUrl = 'http://{IPAddress}:{Port}';

    const browser = await puppeteer.launch({
        args: [`--proxy-pac=url=${proxypacUrl}`],
        headless: false,
    });

    const page = await browser.newPage();
    await page.goto('https://stackoverflow.com/');
    await browser.close();
})();

但是,当我执行代码时,代码可以正常工作并访问 stackoverflow.com,但完全忽略

--proxy-pac=url=${proxypacUrl}

我知道这一点是因为我可以监控代理日志。代理 PAC URL 文件明确表示对所有流量使用代理。

这是我的代理 pac 文件,

function FindProxyForURL(url, host) {
    return "PROXY IP:PORT; PROXY IP:PORT";

}

当我将--proxy-pac-url=<pac-file-url>更改为--proxy-server并直接指定ip和端口时,流量通过代理。

有人可以告诉我代理 PAC URL 有什么问题吗?

【问题讨论】:

    标签: node.js proxy puppeteer chromium


    【解决方案1】:

    您的代码中有错误

    --proxy-pac=url=${proxypacUrl} 应该是--proxy-pac-url=${proxypacUrl}

    很遗憾,修复它无济于事,因为 headless chromium 不支持代理 pac 文件,这里是 issue

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-06-01
      • 2020-03-15
      • 2013-06-24
      • 2019-02-01
      • 2013-09-25
      • 2018-07-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多