Chrome extension - 读取网络请求正文内容
Chrome extension - read web request body content
我有一个 chrome 扩展,我正在尝试接收和保存网络请求的内容。
在这种情况下,我正在监听 JavaScript 文件,我想保存收到的实际 js 代码,但 requestBody 总是返回 'undefined'.
我错过了什么吗?谢谢
清单:
{
"name": "Resource reader",
"description": "resource reader test",
"version": "1.0",
"permissions": [
"webRequest",
"*://*/",
"activeTab",
"webRequestBlocking"
],
"background": {
"scripts": ["background.js"],
"persistent": true
},
"manifest_version": 2
}
background.js:
chrome.webRequest.onBeforeRequest.addListener(
function(details) {
var fileName = details.url;
var extension = fileName.split('.').pop();
if(extension === 'js'){
console.log('received js file');
console.log("url:"+details.url);
console.log(details.requestBody);
}
},
{urls: ["<all_urls>"], types:["script"]},
["requestBody"]);
收到的输出:
received js file background.js:6
url:http://localhost:9095/hello.js background.js:7
undefined background.js:8
您可以在检测到假装获得的正确 url 后使用 fetch()。
fetch(details.url)
.then(response => response.text())
.then(data => console.log(data));
现在注意不要进入检测、提取、检测、提取.. 同一个文件的无限循环。
我有一个 chrome 扩展,我正在尝试接收和保存网络请求的内容。 在这种情况下,我正在监听 JavaScript 文件,我想保存收到的实际 js 代码,但 requestBody 总是返回 'undefined'.
我错过了什么吗?谢谢
清单:
{
"name": "Resource reader",
"description": "resource reader test",
"version": "1.0",
"permissions": [
"webRequest",
"*://*/",
"activeTab",
"webRequestBlocking"
],
"background": {
"scripts": ["background.js"],
"persistent": true
},
"manifest_version": 2
}
background.js:
chrome.webRequest.onBeforeRequest.addListener(
function(details) {
var fileName = details.url;
var extension = fileName.split('.').pop();
if(extension === 'js'){
console.log('received js file');
console.log("url:"+details.url);
console.log(details.requestBody);
}
},
{urls: ["<all_urls>"], types:["script"]},
["requestBody"]);
收到的输出:
received js file background.js:6
url:http://localhost:9095/hello.js background.js:7
undefined background.js:8
您可以在检测到假装获得的正确 url 后使用 fetch()。
fetch(details.url)
.then(response => response.text())
.then(data => console.log(data));
现在注意不要进入检测、提取、检测、提取.. 同一个文件的无限循环。