Created
June 17, 2019 01:09
-
-
Save s3rgeym/a8484b84d7c89ea5bdfeae973c0b964d to your computer and use it in GitHub Desktop.
Chrome Extension: Intercept Requests
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// https://chromedevtools.github.io/devtools-protocol/1-3/Network | |
chrome.browserAction.onClicked.addListener(async tab => { | |
const target = { tabId: tab.id } | |
// Ждем пока подключимся к debugger | |
await new Promise((resolve, reject) => { | |
chrome.debugger.attach(target, '1.3', result => { | |
if (chrome.runtime.lastError) { | |
reject(chrome.runtime.lastError) | |
} else { | |
resolve(result) | |
} | |
}) | |
}) | |
const sendCommand = (method, params) => | |
new Promise((resolve, reject) => { | |
chrome.debugger.sendCommand(target, method, params, result => { | |
if (chrome.runtime.lastError) { | |
reject(chrome.runtime.lastError) | |
} else { | |
resolve(result) | |
} | |
}) | |
}) | |
chrome.debugger.onEvent.addListener(async (source, method, params) => { | |
switch (method) { | |
case 'Network.requestWillBeSent': { | |
const { request } = params | |
// request.url | |
// request.method | |
// request.headers | |
// request.postData | |
// request.hasPostData | |
break | |
} | |
case 'Network.responseReceived': { | |
const { requestId, response } = params | |
// response.status | |
// response.protocol | |
// response.headers | |
// response.mimeType | |
// response.encodedDataLength | |
console.log(response) | |
// body string | |
// base64Encoded true/false | |
const result = await sendCommand('Network.getResponseBody', { requestId }) | |
// console.log(result.body) | |
break | |
} | |
} | |
}) | |
await sendCommand('Network.enable') | |
}) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"background": { | |
"persistent": false, | |
"scripts": [ | |
"background.js" | |
] | |
}, | |
"browser_action": {}, | |
"manifest_version": 2, | |
"name": "Interceptor", | |
"permissions": [ | |
"debugger" | |
], | |
"version": "0.1.0" | |
} |
Author
s3rgeym
commented
Jun 17, 2019
•
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment