我正在创建一个Chrome扩展程序,以检查来自Chrome浏览器的网络流量(http / https)。
以下是扩展A 的background.js中调用Chrome webRequest API的脚本:
chrome.webRequest.onBeforeRequest.addListener(
function(info) {
console.log("target: " + info.url);
},
{urls: ["<all_urls>"]},
["blocking", "requestBody"]);
但是,使用上面的代码,它可以检测来自网页初始化的http / s流量以及网页中的javascript。但是它无法检测到其他Chrome扩展程序发起的http / s通信。
下面是我用来启动http通信的测试脚本,如果将其放在HTML页面的“ script”部分中,则可以检测到它。将其放在Chrome 扩展B 的background.js文件中后,无法检测到它:
var request = new XMLHttpRequest();
request.open("POST", "http://192.168.1.1", true);
request.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
result = 'hello';
request.send(result);
有什么想法吗?