在设置node.js伪造的代理服务器时,我几乎没有误解。我的软件是Linux Mint 19,我在Node.js上运行puppeteer。当我运行命令时,一切正常:
const puppeteer = require('puppeteer');
const pptrFirefox = require('puppeteer-firefox');
(async () => {
const browser = await puppeteer.launch({
headless: false,
args:[ '--proxy-server=socks5://127.0.0.1:9050']
});
const page = await browser.newPage();
await page.goto('http://www.whatismyproxy.com/');
await page.screenshot({path: 'example.png'}).then(()=>{console.log("I took screenshot")});
await browser.close();
})();
proxy在系统中的应用程序上运行。当我的IP更改并且隐私可以正常工作时,google和其他网站将我识别为机器人(即使没有开启代理服务器)。当我更改为“ puppeteer-firefox”时,代理标志不起作用,但我不被视为机器人。
我的目标是不被视为机器人,并以隐身方式运行我的puppeteer部分(以后从Tails linux通过代理运行)。您的回答让我感到非常兴奋:)。我确保您这仅用于开发目的。向所有人致意
答案 0 :(得分:0)
尽管Puppeteer和Puppeteer-Firefox共享相同的API,但是您使用args
参数发送的参数是特定于浏览器的。
Firefox不支持从命令参数传递代理。但是您可以创建一个配置文件并使用该配置文件启动Firefox。有许多文章介绍了如何创建配置文件以及使用该配置文件启动Firefox。 This is one of them。