Chrome拡張機能でHTTPレスポンスを変更する
P粉038161873
P粉038161873 2023-08-21 23:44:53
0
2
529

HTTP 応答本文を変更できる Chrome 拡張機能を作成することはできますか?

Chrome 拡張機能 API を調べましたが、この機能を実装するものは見つかりませんでした。

P粉038161873
P粉038161873

全員に返信 (2)
P粉311464935

私はまさにそれを行う Devtools 拡張機能をリリースしました :)

これはmitmproxyに基づいたタンパーと呼ばれ、現在のタブで行われたすべてのリクエストを表示し、変更し、次回の更新時に変更されたバージョンを提供することができます。

これはかなり初期のバージョンですが、OS X および Windows と互換性があるはずです。うまくいかない場合は、お知らせください。

ここから入手できます:http://dutzi.github.io/tamper/

動作原理

以下の @Xan のコメントにあるように、拡張機能はmitmproxyを拡張する Python スクリプトとネイティブ メッセージングを介して通信します。

この拡張機能は、chrome.devtools.network.onRequestFinishedを使用してすべてのリクエストをリストします。

いずれかのリクエストがヒットすると、リクエスト オブジェクトのgetContent()メソッドを使用してその応答がダウンロードされ、その応答がローカルに保存された Python スクリプトに送信されます。

次に、call(OSX の場合) またはsubprocess.Popen(Windows の場合) を使用して、エディターでファイルを開きます。

Python スクリプトは mitmproxy を使用してプロキシを経由するすべての通信をリッスンし、保存されたファイルのリクエストを検出すると、保存されたファイルを提供します。

Chrome のプロキシ API (具体的にはchrome.proxy.settings.set()) を使用して、PAC をプロキシ設定に設定しました。この PAC ファイルは、すべてのトラフィックを Python スクリプトのプロキシにリダイレクトします。

mitmproxy の最も優れた点は、HTTPS 通信も変更できることです。だからあなたもそれを使うことができます:)

いいねを押す+0
    P粉561323975

    一般に、標準の Chrome 拡張機能 API を使用してHTTP リクエストの応答本文を変更することはできません。

    この機能は

    104058: WebRequest API: 応答本文の拡張編集を許可するでリクエストされています。更新の通知を受け取るには、この質問をブックマークしてください。

    既知の

    XMLHttpRequestの応答本文を編集したい場合は、コンテンツ スクリプトを通じてコードを挿入し、デフォルトのXMLHttpRequestコンストラクターをオーバーライドしてください。カスタム 実際のイベントを起動する前に応答本文をオーバーライドする (完全に機能する) コンストラクターを定義します。 XMLHttpRequest オブジェクトが Chrome の組み込みXMLHttpRequestオブジェクトと完全な互換性があることを確認してください。そうでない場合、AJAX を多用する Web サイトで問題が発生します。

    他の場合には、

    chrome.webRequestまたはchrome.declarativeWebRequestAPI を使用してリクエストを ## にリダイレクトできます。 #データ:-URI。 XHR アプローチとは異なり、元のリクエストのコンテンツを取得することはできません。実際、リダイレクトは実際のリクエストが送信される前にのみ完了できるため、リクエストがサーバーに到達することはありません。main_frameリクエストをリダイレクトすると、ユーザーにはリクエストされた URL の代わりにdata:-URI が表示されます。

    いいねを押す+0
      最新のダウンロード
      詳細>
      ウェブエフェクト
      公式サイト
      サイト素材
      フロントエンドテンプレート
      私たちについて 免責事項 Sitemap
      PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!