1、监听请求,修改请求头(所有头信息都可以处理)
chrome.webRequest.onBeforeSendHeaders.addListener(function(details){ console.log(‘onBeforeSendHeaders’,details.requestHeaders.map(h=>h.name))
var headers = details.requestHeaders,
blockingResponse = {};
for( var i = 0, l = headers.length; i < l; ++i ) {
if(满足条件的请求修改请求头信息) {
headers[i].value = ‘https://XXX.com’; //修改origin
headers.push({name:‘Referer’,value:‘https://XXX.com’}) //修改Referer
break;
}
}
blockingResponse.requestHeaders = headers;
return blockingResponse;
},
{urls: [ “<all_urls>” ]},[‘requestHeaders’,‘blocking’]);
2、监听返回,修改返回头
chrome.webRequest.onHeadersReceived.addListener(function(info) {
//对请求返回头处理逻辑
},
{urls: ["<all_urls>"]},
(chromeVersion>=72?[“blocking”, “responseHeaders”,“extraHeaders”]:[“blocking”, “responseHeaders”]));
3、监听请求,拦截或处理请求
chrome.webRequest.onBeforeRequest.addListener(function (info) {
//对请求的逻辑处理
},
{urls: ["<all_urls>"]},
[“blocking”]);