Chrome 拡張機能で HTTP 応答本文を取得する方法
Chrome 拡張機能のバックグラウンド スクリプト内で HTTP 応答本文を取得することには課題が伴います。拡張機能は chrome.webRequest.onBeforeRequest を使用してリクエスト本文にアクセスできますが、通常、レスポンス本文を取得することはできません。
この制限を克服するには、chrome.debugger API を活用する独創的なアプローチが必要です。この API を使用すると、拡張機能はブラウザのネットワーク アクティビティをデバッグし、対話できるようになります。詳細な実装は次のとおりです。
<code class="javascript">// Attach to the current tab and enable network debugging. chrome.tabs.query({ currentWindow: true, active: true }, tabs => { chrome.debugger.attach({ tabId: tabs[0].id }, '1.0', debuggeeId => { chrome.debugger.sendCommand({ tabId: debuggeeId.tabId }, 'Network.enable'); }); }); // Listen for response received events. chrome.debugger.onEvent.addListener((debuggeeId, message, params) => { if (debuggeeId.tabId !== currentTab.id) return; if (message === 'Network.responseReceived') { // Get the response body by sending a command. chrome.debugger.sendCommand({ tabId: debuggeeId.tabId }, 'Network.getResponseBody', { requestId: params.requestId }, response => { // The response body is now available. // ... Process the response body ... }); } });</code>
このメソッドを使用すると、ブラウザ ページを追加したり、追加したりせずに HTTP 応答本文を取得できます。サードパーティのサービス。終了したら、chrome.debugger.detach を使用してデバッグ セッションを閉じることができることに注意してください。
以上がChrome 拡張機能で HTTP 応答本文を取得する方法: 可能ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。