在 Puppeteer 里使用代理服务器科学上网

使用 Puppeteer 录制视频的时候,如果服务器在国内,可能会有一些网站打不开。这个时候,我们可以要求 Puppeteer 使用代理服务器。

0. 配置科学上网

参考两篇旧文,其实原理一样,只是用的软件不一样:

配置完成之后,通过浏览器应该可以正常访问。

1. 使用代理服务器

启动 Puppeteer 的时候,可以传入参数 args,进行各种调整,完整的列表请参考:List of Chromium Command Line Switches

关于代理服务器,有若干个选项,我们要用的是 --proxy-server,方法是:

puppeteer.launch({
  args: [
    '--proxy-server=socks5://127.0.0.1:1080',
  ],
});

2. 使用 PAC 文件

但是这样所有流量都会走代理服务器,也不符合我们的期待,所以最好使用 PAC 文件。参数名称是:--proxy-pac-url,但请注意,因为 Chromium 的 bug,这个参数只在 headless: false,即有界面的时候才会生效。好在我们是为了录视频,所以本来就要打开界面。

所以最终的启动代码就是:

puppeteer.launch({
  headless: false,
  args: [
    '--proxy-server=socks5://127.0.0.1:1080',
    '--proxy-pac-url=http://localhost/autoproxy.pac',
  ],
});

如果您觉得文章内容对您有用,不妨支持我创作更多有价值的分享:


已发布

分类

来自

标签:

评论

欢迎吐槽,共同进步

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据