開発者ガイド にはこれに対する答えがありませんが、適切な場所を見ていません。
Chrome Extensionを使用してHTTPリクエストをインターセプトしてから、潜在的に新しい/異なるHTTPヘッダーを使用して転送したいのですが、どうすればよいですか?
PS:私はこの拡張機能のauthorなので私を責めることができますあなたが好きではないもののために:)
OPが質問したときは確かに不可能でしたが、すぐにChrome実験的リリース WebRequest API 。しかし、今では公式にChrome拡張機能:これを使用して、Chromeの要求ヘッダーと応答ヘッダーを変更できます。
この例を見てください:
chrome.webRequest.onBeforeSendHeaders.addListener(
function(details) {
for (var i = 0; i < details.requestHeaders.length; ++i) {
if (details.requestHeaders[i].name === 'User-Agent') {
details.requestHeaders.splice(i, 1);
break;
}
}
return { requestHeaders: details.requestHeaders };
},
{urls: ['<all_urls>']},
[ 'blocking', 'requestHeaders']
);
Chrome Extensionを使用する場合は、 Requestly を使用して、要求ヘッダーと応答ヘッダーを必要に応じて変更できます。このスナップショットをご覧ください。
要求ヘッダーの変更( https://developer.chrome.com/extensions/webRequest )は、chrome 17。
適切な場所を見ていますが、HTTPリクエストのインターセプトはまだ存在しませんが、拡張チームはそれが人気のあるリクエストであることを認識しており、近いうちに到達したいと考えています。
chrome 72から始まる場合、opt_extraInfoSpec
にextraHeaders
を追加しない限り、一部のヘッダーは許可されないことに注意してください。この:
chrome.webRequest.onBeforeSendHeaders.addListener(
function(details) {
for (var i = 0; i < details.requestHeaders.length; ++i) {
if (details.requestHeaders[i].name === 'User-Agent') {
details.requestHeaders.splice(i, 1);
break;
}
}
return { requestHeaders: details.requestHeaders };
},
{urls: ['<all_urls>']},
[ 'blocking', 'requestHeaders', 'extraHeaders']
);
詳細については、ドキュメントを確認してください ドキュメントのスクリーンショットhttps://developer.chrome.com/extensions/webRequest#life_cycle_footnote