在 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',
],
});
相关文章
使用 webpack-rpc-inline-plugin 打包内联函数体
使用 Puppeteer 的时候,我们常常要使用 page.evaluate() 或者 page.evalua […]
2021-11-203 分钟
移除 Puppeteer 里的保存密码提示窗
大家知道,当我们使用 Chrome 完成登录的时候,Chrome 会询问我们是否要保存密码,如下图所示: 但是 […]
2021-05-093 分钟
在 Raspberry Pi 4B 上跑 Puppeteer
首先,我使用的是 Raspberry Pi 4B,安装的是官方 Debian 10(buster)系统,并且保 […]
2020-12-052 分钟


