如何通过Chrome DevTools Protocol设置默认Accept-Language请求头?
通过Chrome DevTools Protocol设置全局默认Accept-Language请求头
可以,你可以通过Chrome DevTools Protocol(CDP)的Network.setExtraHTTPHeaders方法实现全局默认Accept-Language请求头的设置,该设置会对当前CDP会话下的所有请求生效,无需逐个手动配置。
具体操作:
- 启动Chrome浏览器并开启远程调试端口,示例命令:
chrome --remote-debugging-port=9222 - 调用
Network.setExtraHTTPHeaders方法传入目标头信息:- 若使用Puppeteer(CDP封装库),示例代码:
const puppeteer = require('puppeteer'); (async () => { const browser = await puppeteer.launch({ headless: false, args: ['--remote-debugging-port=9222'] }); const page = await browser.newPage(); // 设置全局默认Accept-Language头 await page.setExtraHTTPHeaders({ 'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8' }); // 后续所有请求自动携带该头 await page.goto('https://example.com'); })(); - 若直接使用CDP原始协议,发送如下JSON指令:
{ "id": 1, "method": "Network.setExtraHTTPHeaders", "params": { "headers": { "Accept-Language": "zh-CN,zh;q=0.9,en;q=0.8" } } }
- 若使用Puppeteer(CDP封装库),示例代码:
补充说明:
- 该设置仅在当前CDP会话内有效,关闭浏览器或断开会话后会重置。
- 修改或取消全局头时,重新调用
Network.setExtraHTTPHeaders传入新的头信息即可(取消可传入不含该头的对象)。
内容的提问来源于stack exchange,提问作者hanshenrik
相关产品推荐
相关产品推荐

