Chrome 拡張機能で HTTP 応答本文を取得する方法: 可能ですか?

Susan Sarandon
リリース: 2024-10-24 18:38:35
オリジナル
229 人が閲覧しました

How to Retrieve HTTP Response Body in Chrome Extensions:  Is it Possible?

Chrome 拡張機能で HTTP 応答本文を取得する方法

Chrome 拡張機能のバックグラウンド スクリプト内で HTTP 応答本文を取得することには課題が伴います。拡張機能は chrome.webRequest.onBeforeRequest を使用してリクエスト本文にアクセスできますが、通常、レスポンス本文を取得することはできません。

この制限を克服するには、chrome.debugger API を活用する独創的なアプローチが必要です。この API を使用すると、拡張機能はブラウザのネットワーク アクティビティをデバッグし、対話できるようになります。詳細な実装は次のとおりです。

  1. chrome.tabs.query と chrome.debugger.attach を使用して現在のタブへの接続を確立します。
  2. Network.enable コマンドを送信してネットワーク デバッグを有効にします。
  3. Network.responseReceived イベントのイベント リスナーを登録します。
  4. 応答を受信したら、イベント パラメーターの requestId を指定して Network.getResponseBody コマンドを送信します。
  5. 応答本文はコマンドによって返されるため、必要に応じて処理できます。
<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 サイトの他の関連記事を参照してください。

ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!