プロキシ要求を使用して、.NETのコアは_ HttpClientをキャプチャ_Fiddlerキャプチャプログラムを送りました

はじめに:8888:フィドラークロールブラウザデータによる要求は、私たちはフィドラーは、マシンデータキャプチャ電卓、ポート番号にデフォルトのプロキシサーバーを追加することによって達成される知っている、我々が使用すると信じています。

実際には、我々はフィドラーズ設定を開いたときにも見ることができます。

 

 

 電卓、その後は、ローカルネットワークのプロキシ設定を表示します。

 

 

 

上記の原理に基づき、フィドラーは、ネイティブのデータ取り込み要求計算によって実現されます。

 

だから、私たちは、.NETのコアにリクエストを送信するためのHttpClientを使用してC#コードを採用し、それはまた、フィドラーはそれをキャプチャすることはないでしょうか??   

実際には、デフォルトは、私たちはこの穴から、プロキシサーバーのプログラムを設定することができ、キャッチ、Microsoftは、私たちは穴がプロキシサーバーを要求するように構成することができます確保しましたされていません

このマシンのプロキシサーバーの設定:127.0.0.1、ポート番号など:8888、あなたはキャプチャフィドラーすることができます。プログラム内取り込み、それをすることによって、我々は、我々が送信パケットを監視することができますヘッダを要求し、クッキー、ノートなど最後に、あなたが問題のいくつかを分析することができますどのような種類の、です。

ここで私がキャプチャするために使用されたテスト手順のCore3.0を.NETコードの枠組みの中で掲示されます:

 

1 - カスタムプロキシクラス:

///  <要約> 
/// Iプロキシクラス
 ///  </要約> 
パブリック クラスてMyProxy:IWebProxy 
{ 
    // プロキシアドレス
    パブリックてMyProxy(ウリproxyUri)
    { 
        // セットチケット代行依頼 
        資格情報= 新新 NetworkCredentialの(" ユーザ名"" パスワード" ); 
             ProxyUri = proxyUri; 
        } 
        プライベートNetworkCredentialの資格; 

        プライベートウリProxyUri; 

        公共 ICredentials資格{ GET =>資格。SET => スロー 新しい新NotImplementedException();} 

        // アドレスプロキシ取得
        公共ウリGetProxy(あなたが欲しいんウリは)
        { 
            返す ProxyUriを; // あなたのプロキシURI 
        }
         // プロキシサーバがfalseに提供されている場合、ホストがバイパスされ
        、公開 BOOL IsBypassed( URIホスト)
        { 
            リターン falseに; 
        } 
  } }

 

2 - 使用してリクエストを送信します。

MyProxyがmyProxy = 新しいてMyProxy(新しいウリ(" http://127.0.0.1:8888 " ));
VAR httpClientHandler = 新しい HttpClientHandler(){プロキシ= がmyProxy}。
VARのHttpClient = 新しいHttpClientを(httpClientHandler)。

HttpRequestMessage httpRequestMessage = 新しい HttpRequestMessage(HttpMethod.Post、" https://www.baidu1.com " ); 
httpClient.SendAsync(httpRequestMessage)。

 

www.baidu1.comプログラム(プロキシ要求は、シミュレーションプログラム内で成功した)の中に要請:最終フィドラーズ監視要求を見た、我々は、要求ドメイン名をキャッチしていることがわかります。

 

おすすめ

転載: www.cnblogs.com/lxhbky/p/11671307.html