覆写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()
效果:
