Puppeteer修改请求Header过无头检测

覆写header的User-Agent:

const puppeteer = require ('puppeteer');
async function main(){
    const browser = await puppeteer.launch({
        headless: true, 
        args: ['--no-sandbox', '--disable-setuid-sandbox']
      });
      const headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36 Edg/133.0.0.0'
      }; // 自定义 headers
      const page = await browser.newPage(); // 打开一个新页面
      await page.setViewport({width: 1926, height: 1080});
      await page.setRequestInterception(true); // 开启请求拦截
       page.on('request', async interceptedRequest => {
        console.log('修改前的请求头:', interceptedRequest.headers());
        const overrides = {
            headers: {
                ...interceptedRequest.headers(), // 这里一定要把原请求的 headers 传过去
                ...headers // 这里是我们自定义的 headers
            }
        };// 重写请求头
        await interceptedRequest.continue(overrides); // 继续请求并使用重写的请求头
    });
    await page.goto('https://arh.antoinevastel.com/bots/areyouheadless', { waitUntil: 'networkidle0' })
    await page.screenshot({ path: './test.png' })
    await browser.close();
}
main()

效果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值