7

魔女が使用するRestSharpでFiddlerを動作させようとしているので、またはに設定したいSystem.Http.WebProxylocalhost:8888127.0.0.1:8888

コードは次のとおりです。

    var webProxy = new WebProxy(new Uri("http://127.0.0.1:8888"))
    {
        BypassProxyOnLocal = false
    };

    var bypassed = webProxy.IsBypassed(new Uri("http://127.0.0.1"));
    Console.WriteLine(bypassed);

出力:true

MSDNは次のように述べています。

IsBypassedメソッドは、インターネットリソースにアクセスするときにプロキシサーバーをバイパスするかどうかを決定するために使用されます

BypassProxyOnLocalプロパティとBypassListプロパティは、IsBypassedメソッドの戻り値を制御します。

IsBypassedは、次のいずれかの条件下でtrueを返します。

  • BypassProxyOnLocalがtrueで、ホストがローカルURIの場合。ローカルリクエストは、「http:// webserver /」のように、URIにピリオド(。)がないことで識別されます。

  • ホストがBypassListの正規表現に一致する場合。

  • アドレスがnullの場合。

他のすべての条件はfalseを返します。

私の場合、なぜそれがtrueを返すのかわかりませんが、これはバグですか?それを機能させる方法は?ありがとう!

4

1 に答える 1

6

これは、.Net フレームワークの HTTP クライアント ライブラリの実装でハードコードされた動作であり、Internet Explorer 9 より前の WinInet の動作を反映しています。

対処方法については、Fiddler Web サイトのIE または .NET から localhost へのトラフィックを監視するを参照してください。

于 2012-09-11T22:11:21.657 に答える