この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 241781|答える: 55

[コンソールプログラム] .NET/C#はFiddlerCore4を使ってHTTPリクエストを傍受・修正します

  [リンクをコピー]
掲載地 2020/12/20 13:39:53 | | | |
最新のFiddlerCoreAPIFreeSetupは、新しいdllファイルをキャプチャしインストール後に使用します。Fiddlerのhttpカスタムインターセプション処理ライブラリFiddlerCoreは、現在.NETクラスライブラリとして利用可能で、すべての.NETアプリケーションで利用可能です。 FiddlerCoreは、テスト自動化のようなユーザーインターフェースなしで動作する専用アプリケーションや、Fiddlerアドオンが適用できないUI(例えばWPFトラフィックビジュアライゼーション)専用のUI向けに設計されています。

FiddlerCoreは現在有料に切り替わりましたが、料金が上がる前に、30日間の制限のないベータ版でいくつかの新しい.NET標準がリリースされていました。 完全なSDKとデモは利用可能です。 ダウンロードアドレスは以下の通りです:

FiddlerCoreAPIFree_4_6_20191_7809.zipダウンロード
ハイパーリンクのログインが見えます。

新しい.NET 4.6.2コンソールプロジェクト「HttpCapture」を作成し、FiddlerCore45.dllクラスライブラリを参照します。上記のようにダウンロードすることで入手できます。

フィドラーのイベントは以下の通りです:

//
        概要:
        このイベントはセッションが完了すると発生します
        公開静的イベント SessionStateHandler AfterSessionComplete;
        //
        概要:
        このイベントはFiddlerがWebSocketメッセージをキャプチャしたときに発生します
        public static event EventHandler<WebSocketMessageEventArgs> OnWebSocketMessage;
        [CodeDescription(「このイベントはHTTPS証明書が検証された。」)]
        パブリック静的イベント<ValidateServerCertificateEventArgs> EventHandler OnValidateServerCertificate;
        //
        概要:
        このイベントはレスポンスヘッダーが利用可能になったときに発生します
        public static event SessionStateHandler ResponseHeadersAvailable;
        //
        概要:
        このイベントはリクエストヘッダーが利用可能であると発生します
        パブリック静的イベント SessionStateHandler RequestHeadersAvailable;
        //
        概要:
        このイベントは、Fiddlerがサーバー応答を受信したときに発生します
        パブリック静的イベント SessionStateHandler BeforeResponse;
        //
        概要:
        このイベントはクライアントリクエストがFiddlerに届くと発生します
        パブリック静的イベント SessionStateHandler BeforeRequest;
        //
        概要:
        このイベントは、FiddlerCoreがクライアントのネットワークからデータを読み取るたびに発生します
        お願い。 このデータはいかなる形式も作られておらず、解析が必要です
        受取人によって。
        公開静的イベント<RawReadEventArgs> EventHandler OnReadRequestBuffer;
        //
        概要:
        このイベントは、FiddlerCoreがサーバーのネットワークからデータを読み取るたびに発生します。
        応答。 このデータはいかなる形式も作られておらず、解析が必要です
        受取人によって。
        パブリック静的イベント<RawReadEventArgs> EventHandler OnReadResponseBuffer;
        [CodeDescription(「このイベントはユーザーがFiddlerにキャッシュやクッキーのクリアを指示したときに発生します。」)
        公開静的イベント<CacheClearEventArgs> EventHandler OnClearCache;
        //
        概要:
        このイベントを同期させて、FiddlerCoreがシステムプロキシとして接続されたときに通知を受け取るよう。」)
        [CodeDescription("FiddlerCoreがシステムプロキシとして接続された際に通知されるこのイベントを同期してください。"]
        [廃止された(「Telerik.NetworkConnections.NetworkConnectionsManagerをご利用ください。」)
        公開静的イベント SimpleEventHandler FiddlerAttach;
        //
        概要:
        このイベントを同期させて、FiddlerCoreがシステムプロキシから切り離されたときに通知を受け取るようにしてください。
        [CodeDescription("FiddlerCoreがシステムプロキシから切り離された際に通知されるこのイベントを同期せよ。"]
        [廃止された(「Telerik.NetworkConnections.NetworkConnectionsManagerをご利用ください。」)
        公開静的イベント SimpleEventHandler FiddlerDetach;
        [CodeDescription(「このイベントはユーザー通知が表示されるときに発生します。 CONFIGを参照してください。 QuietModeプロパティ。")
        パブリック静的イベント<NotificationEventArgs> EventHandler OnNotification;
        //
        概要:
        このイベントは、Fiddlerによってエラー応答が生成されると発生します
        public static event SessionStateHandler BeforeReturningError;
        //
        概要:
        FiddlerがTCP/IP接続を成功裏に受け入れるたびに発生します
        パブリック静的イベント EventHandler<ConnectionEventArgs> AfterSocketAccept;
        //
        概要:
        FiddlerがTCP/IP接続を成功裏に確立するたびに、毎回発射されます
        公開静的イベント<ConnectionEventArgs> EventHandler AfterSocketConnect;

よく使われるイベントはBeforeRequest、BeforeResponse、AfterSessionCompleteです。

HTTPSリクエストをブロックしたい場合は、証明書をインストールする必要があります。コードは以下の通りです:

証明書の存在を判定するためのコードも添付されています:

私たちが達成した成果は以下の通りです。

1. 迎撃www.itsvse.comサイトリクエストは、JSONコンテンツを直接返すものです。
2. down.itsvse.com サイトをブロックし、返信後に「Uploaded by」という文字列を「Uploaded by」に置き換える

コードは以下の通りです:

次に、コード設定とともにIEエージェント127.0.0.1:9099を手動で設定します。

システムIEプロキシを.NET/C#でセットアップします
https://www.itsvse.com/thread-9495-1-1.html

レンダリングは以下の通りです:



注意:レスポンスの後に内容を変更する場合は、BeforeRequestイベントでセッションを設定する必要がありますsession.bBufferResponse = true;そうしないと、返信内容を改変できません!

ソースコードダウンロード:

観光客の皆さん、この投稿の隠された内容を見たい方は、どうぞ答える


(終わり)





先の:ASP.NET MVCのオンラインによる現在のウェブサイトソースコードのデコンパイル
次に:リクエストフォーマットは認識されません。なぜならURLが予期せず「/itsvse」で終わるからです。
 地主| 掲載地 2023/06/30 20:07:39 |
証明書について:

掲載地 2022/03/06 10:33:30 |
非常にいいです                       
 地主| 掲載地 2023/06/28 17:11:09 |
Fiddlerがローカルlocalhost、127.0.0.1ネットワークリクエストをクロールできなかった問題を解決しました
https://www.itsvse.com/thread-9137-1-1.html
掲載地 2020/12/23 20:51:15 |
返信後に内容を変更する際
掲載地 2021/02/25 19:39:28 |

返信後に内容を変更する際
掲載地 2021/03/01 13:03:56 |
FiddlerCoreStartupSettingsBuilderの名前空間
掲載地 2021/03/13 15:15:48 |
ソースコードを覚えましょう
掲載地 2021/03/31 17:15:20 |
ぜひ勉強して見てみてください
掲載地 2021/04/07 18:09:31 |
丸一日探した後、ついに自分のニーズに合うものを見つけました
掲載地 2021/05/05 16:28:11 |
IEプロキシ127.0.0.1:9099を移動させることも可能です
掲載地 2021/06/04 11:27:23 |
333333333333333333
掲載地 2021/06/21 0:33:29 |
session.bBufferResponse = true; 設定は必要ですか?
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com