我正在寻找一种使用firefox插件访问当前选项卡URL的所有请求标头并将其发送到我的服务器的方法。
我发现了这篇https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Intercept_HTTP_requests#Modifying_request_headers firefox开发人员文章,该文章演示了如何拦截和更改User-Agent请求标头。
这里是检查当前选项卡URL并将User-Agent标头更改为Opera Browser用户代理的代码。
var targetPage = "http://useragentstring.com/*";
var ua = "Opera/9.80 (X11; Linux i686; Ubuntu/14.10) Presto/2.12.388 Version/12.16";
function rewriteUserAgentHeader(e) {
e.requestHeaders.forEach(function(header){
if (header.name.toLowerCase() == "user-agent") {
header.value = ua;
}
});
return {requestHeaders: e.requestHeaders};
}
browser.webRequest.onBeforeSendHeaders.addListener(
rewriteUserAgentHeader,
{urls: [targetPage]},
["blocking", "requestHeaders"]
);
我要做的是将所有请求标头存储在一个变量中,然后使用xmlhttprequest而不是更改User-Agent将其发送到我的服务器。