使用 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',
],
});
欢迎吐槽,共同进步