用 puppeteer 更改 IP 地址似乎不起作用。我错过了啥吗?

Posted

技术标签:

【中文标题】用 puppeteer 更改 IP 地址似乎不起作用。我错过了啥吗?【英文标题】:Change IP adress with pupperteer doesn't seems to work. Am I missing something?用 puppeteer 更改 IP 地址似乎不起作用。我错过了什么吗? 【发布时间】:2022-01-05 03:05:54 【问题描述】:

我目前正在尝试使用 node 和 puppeteer headless chrome 进行网络抓取。我使用一个投票网站,在那里你只能投票 1 次/小时,而我正在尝试投票更多(例如 10 次/小时)。为此,我使用不同的 IP 地址和不同的用户代理。 但是,问题是,当我切换 IP 时,它似乎不起作用(我无法进行其他投票)并且当我检查我的 IP 时(在某些网站上,如 https://ipcost.com/),我看到了我的真实 IP 地址。

这是我用来实现此目的的代码:

const chromeOptions = 
    headless:false,
    defaultViewport: null,
    args: [
        '--disable-features=IsolateOrigins,site-per-process',
        '--flag-switches-begin --disable-site-isolation-trials --flag-switches-end',
        '--disable-features=UserAgentClientHint',
        `--proxy-server=http=user::passwordx@ip:port`
      ]
(async() => 
const browser = await puppeteer.launch(chromeOptions);
....
)()
;

这是我第一次从事网络抓取工作,并且我使用这样的代理。 我无法找到我的问题的任何答案,我想我遗漏了什么或者我做错了什么。

提前感谢您的帮助

【问题讨论】:

【参考方案1】:

好的,我得到了答案。 事实上 pupperteer 并不管理身份验证代理请求 所以我改变了

`--proxy-server=http=user::passwordx@ip:port`

通过

`--proxy-server=http://ip:port`

并添加

await page.authenticate(        
        username: 'username',
        password: 'password'
    )

【讨论】:

以上是关于用 puppeteer 更改 IP 地址似乎不起作用。我错过了啥吗?的主要内容,如果未能解决你的问题,请参考以下文章

在android应用程序中连接到主机名而不是IP地址

在 Route 53 中使用弹性 IP 地址不起作用

手机用vpn怎么更改电脑ip

使用dwr后,javaweb设置的session超时失效,web.xml和tomcat设置都不起作

怎样有Windows98中用DOS命令更改IP地址

如何找到谷歌的IP地址?