ホームページ >ウェブフロントエンド >jsチュートリアル >Chrome 拡張機能で HTTP 応答ヘッダーをキャプチャするにはどうすればよいですか?

Chrome 拡張機能で HTTP 応答ヘッダーをキャプチャするにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-07 00:06:03812ブラウズ

How Can I Capture HTTP Response Headers in a Chrome Extension?

Chrome 拡張機能での HTTP 応答ヘッダーのキャプチャ

Chrome 拡張機能内で HTTP 応答を監視しようとすると、開発者は API の不足に直面することがよくあります。この特定のタスクに合わせて調整されています。この記事は、カスタム イベント リスナーと組み合わせたスクリプト インジェクション メカニズムを利用することで、包括的なソリューションを提供することを目的としています。

スクリプトのインジェクション

応答をキャプチャするための鍵は、スクリプトを Web サイトに追加します。これには、manifest.json と挿入されたスクリプトの両方の変更が含まれます。

  • manifest.json: 「content_scripts」セクションを構成して、どの Web サイトに
  • inject.js: 実際のキャプチャ スクリプト「injected.js」を DOM に挿入します。

HTTP 応答のキャプチャ

「injected.js」という名前の挿入されたスクリプトは、ネイティブ XMLHttpRequest オブジェクトをハイジャックして、すべてのネットワーク要求と応答を監視します。応答を受信すると、スクリプトは応答ヘッダーと、該当する場合は応答本文の両方を取得します。

キャプチャ スクリプトの実装

「injected.js」内:

  1. リクエストの詳細 (メソッド、URL、開始時間) とリクエスト ヘッダーを記録するには、「open」関数にパッチを適用します。
  2. 追加のリクエスト ヘッダーをキャプチャするには、「setRequestHeader」関数にパッチを適用します。 .
  3. 「send」関数にパッチを適用して、完了時に応答データを取得するイベント リスナーを追加します。

応答の取得

リクエストが完了すると、手順 3 で追加したイベント リスナーがトリガーされ、次のようなレスポンスの詳細がログに記録されます。

  • URL
  • リクエスト ヘッダー (JSON 形式)
  • レスポンスヘッダー
  • レスポンスボディ(可能であればJSON形式)

結論

スクリプトインジェクションとイベントリスナーを利用することで、開発者はWeb サイトによって行われた HTTP リクエストの応答ヘッダーを簡単にキャプチャして調べることができます。これにより、Chrome 拡張機能内で貴重な分析および監視機能が有効になります。

以上がChrome 拡張機能で HTTP 応答ヘッダーをキャプチャするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。