拡張機能でwebRequestモジュールを使用する必要があります。マニフェストで適切な権限を指定した後、次に例を示します。
"permissions": [
"webRequest",
"*://*/*"
],
"background": {
"scripts": ["background.js"]
},
バックグラウンドページ(例では「background.js」)に、、、、、などの必要なハンドラーを登録できonBeforeRequest
ます。名前は自明だと思いますが、上記のドキュメントを参照してください。onBeforeSendHeaders
onHeadersReceived
onCompleted
要件に応じて、リクエストを防止し、ヘッダーを変更し、httpヘッダーを読み取り、何らかの方法で分析するイベントハンドラーを定義できます。
httpヘッダーを読み取り、場合によってはそれらを変更する例:
chrome.webRequest.onBeforeSendHeaders.addListener(
function(details)
{
console.log(details.url);
if(details.method == 'POST')
{
// do some stuff
for(var i = 0; i < details.requestHeaders.length; ++i)
{
// log or change some headers
// details.requestHeaders[i].name
// details.requestHeaders[i].value
}
}
return {requestHeaders: details.requestHeaders};
},
{urls: ["<all_urls>"]},
["blocking", "requestHeaders"]);