7

我正在尝试让FiddlerRestSharp女巫使用一起工作System.Http.WebProxy,所以我希望将其设置为localhost: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);

输出:

MSDN 声明如下:

IsBypassed方法用于确定在访问 Internet 资源时是否绕过代理服务器

BypassProxyOnLocal 和 BypassList 属性控制IsBypassed方法的返回值。

IsBypassed在以下任一条件下返回true

  • 如果 BypassProxyOnLocal 为true并且host是本地 URI。本地请求由 URI 中缺少句点 (.) 来标识,如“http://webserver/”。

  • 如果主机匹配 BypassList 中的正则表达式。

  • 如果地址为空。

所有其他条件返回false

我不明白为什么在我的情况下它返回true,这是一个错误吗?那如何让它工作呢?谢谢!

4

1 回答 1

6

这是在 .Net 框架中实现 HTTP 客户端库的硬编码行为,反映了 Internet Explorer 9 之前 WinInet 的行为。

请参阅Fiddler 网站上的从 IE 或 .NET 监控到 localhost 的流量,了解如何处理它。

于 2012-09-11T22:11:21.657 回答