puppeteer代理设置方法中介绍了设置代理的几种方式,其中之一是通过拦截请求,再通过http模块转发,给http模块加上代理实现代理设置。pupppeteer-page-proxy[1]nodejs模块就是基于此实现为每个请求或page加代理。其中一些特性如下:
需要三个工具:
由于pupppeteer-page-proxy设置代理依赖http-proxy-agent、https-proxy-agent。这两个模块又依赖agent-base。agent-base需要5.0+。而puppeteer2.1.0才将agent-base升级到5.1.1。因此puppeteer版本要使用2.1.1。
pupppeteer-page-proxy发送http请求依赖got[2](一个强大的nodejs http库)。用高版本时got会使用asyn generator因此nodejs版本要升级到10+。否则启动提示语法错误。
首先我们为每个请求指定代理。在page.on监听请求,随后通过page proxy发送。以访问百度为例,