Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用NodeJS Puppeter在我的headless chrome请求中设置代理服务器_Javascript_Node.js_Headless Browser_Puppeteer - Fatal编程技术网

Javascript 如何使用NodeJS Puppeter在我的headless chrome请求中设置代理服务器

Javascript 如何使用NodeJS Puppeter在我的headless chrome请求中设置代理服务器,javascript,node.js,headless-browser,puppeteer,Javascript,Node.js,Headless Browser,Puppeteer,/我正在chrome上运行无头搜索请求,我需要访问代理服务器/ //我需要能够访问代理服务器才能进行谷歌搜索您可以在参数中传入这样的代理 const options = { headless: false, args: [ `--proxy-server=${proxyIP:proxyPORT}`, `--ignore-certificate-errors` ] }; const browser =

/我正在chrome上运行无头搜索请求,我需要访问代理服务器/


//我需要能够访问代理服务器才能进行谷歌搜索

您可以在参数中传入这样的代理

const options = {
        headless: false,
        args: [
            `--proxy-server=${proxyIP:proxyPORT}`,
            `--ignore-certificate-errors`
        ]
};
const browser = await puppeteer.launch(options);
如果需要代理身份验证,可以在页面对象中使用以下内容:

await page.authenticate(user, pass);

我制作了一个模块来实现这一点。它叫。 它支持为整个页面设置代理,或者如果您愿意,它可以为每个请求设置不同的代理

首先安装它:

npm i puppeteer-page-proxy
然后要求它:

const useProxy=require('puppeter-page-proxy');
使用起来很简单 为整个页面设置代理:

wait useProxy(第页,'http://127.0.0.1:8000');
如果您希望为每个请求使用不同的代理,则只需执行以下操作:

wait page.setRequestInterception(true);
第页('request',req=>{
使用代理(要求“socks5://127.0.0.1:9000”);
});
然后,如果你想确定你的网页的IP已经改变,你可以查它

const data=wait useProxy.lookup(第页);
console.log(data.ip);
它支持httphttpssocks4socks5代理,如果需要,它还支持身份验证:

const-proxy=”http://login:pass@127.0.0.1:8000'
存储库:

npm i puppeteer-page-proxy