【開発経験】フィドラーがリクエスト転送を実装


        Fiddlerはhttpプロトコルデバッグプロキシツールであり、コンピューターとインターネット間のすべてのhttp通信を記録および検査し、ブレークポイントを設定し、すべての「インおよびアウト」フィドラーデータ(cookie、html、js、css、およびその他のファイルを参照)を表示できます。 ))。Fiddlerは、httpトラフィックを公開するだけでなく、ユーザーフレンドリーな形式を提供するため、他のネットワークデバッガーよりもシンプルです。

シナリオ1:単一のリクエスト転送により、Baiduページのロゴが検索ロゴに変更されます

画像-20220401152147417

        上の図に示すように、要求の転送を実現するには、autoResponderで元のアドレスと転送されたアドレスを構成するだけで済みます。これはほんの小さな実験です。この実験から、実際のシナリオでは、テスト環境をインターフェイスからローカルに転送できることがわかります。

シナリオ2:テスト環境リクエストがローカルに転送されます

        現在の実際の開発では、テスト環境または本番環境のフロントエンドデータ分析は正常ですが、バックエンドデータが正しく返されないことがわかりました。現時点では、2つのオプションがあります。

  1. フロントエンドをローカルで起動し、バックエンドコードを変更して、検証に合格した後に送信します。
  2. バックエンドコードをローカルで直接変更します。簡単なテストの後、テスト環境に送信して、正しいかどうかを確認します。

        より簡単な方法は、フィドラーを使用してバックエンドサービスをローカルで開始し、テスト環境のインターフェイスをローカルに転送することで変更することで実現できます。autoResponder転送する。そのような:

構成:http://www.baidu.com/user/getUserInfo

先へ:http://127.0.0.1:8080/user/getUserInfo

        さらに、実際の状況では、テスト環境とローカル環境のユーザートークンの間に不整合がある場合があります。転送を設定できる場合は、リクエストヘッダーとレスポンスヘッダーを変更します

画像-20220401173841552

上記のようにFilters、リクエストヘッダーとレスポンスヘッダーをに設定します。

シナリオ3:同じドメイン名のすべてのリクエストが別のドメイン名に送られる

シナリオ2では、単一のインターフェースの転送が構成されています。fiddlerホストファイルは、グローバル転送用のツールで簡単に変更できます。

画像-20220401174216153

画像-20220401174254560

転送するルールを設定し、直接保存して有効にします。

シナリオ4:プレフィックスルールに基づく転送

www.123.com/user/*先へ127.0.0.1:8080/user/*

ドメイン名123のuserのプレフィックスが付いたすべてのリクエストは、ローカルポート8080に転送されます。

画像-20220401174637440

通常のルールで構成されたルールは次のとおりです。

regex:(?inx)^http://www.123.com/user(?<name>.+)$

*redir:http://127.0.0.1/user${name}

fiddlerScriptを介したより複雑な転送

実際の開発では、さまざまなシナリオがあり、フィドラーの基本的な構成は実現できません。fiddlerScriptでコーディングできます。その中にはたくさんのコードがあります、実際、それを変更するだけで、それは非常に簡単です。

静的関数OnBeforeRequest(oSession:Session)は、事前要求処理を意味します。

シナリオ3はfiddlerScriptで実装されています。コードは次のように表示されます。

      // 打印当前请求的host
		FiddlerObject.log("oSession.host :"+oSession.host );
		// 判断host是否为*** 并且路径是否包含***
        if(oSession.host == '131.424.131.23:1561' && oSession.url.Contains("/user/")){
    
    
    		//转发配置
            oSession.host = '127.0.0.1:8080';
            oSession.url =  oSession.url.Replace("/user/", "/");   
    
        }

上記の構成を実現できます:131.424.131.23 :1561/user/*は127.0.0.1:8080/*に転送されます。

Save Scriptボタンをクリックして、セットアップが完了したら再起動することを忘れないでください。

おすすめ

転載: blog.csdn.net/qq_30285985/article/details/124094098