如何使System.Net.WebProxy到不能绕过本地URL?(How to make Syst

2019-09-22 08:21发布

我试图让提琴手与工作RestSharp女巫使用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方法用于确定是否要访问因特网资源时绕过代理服务器。

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

IsBypassed遇有下列条件返回true:

  • 如果BypassProxyOnLocal是真实的主机是本地URI。 本地请求由缺乏一段在URI标识,如(。)的“http:// Web服务器/”。

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

  • 如果地址为null。

所有其他条件返回false。

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

Answer 1:

这是在.NET Framework中的HTTP客户端库的实现硬编码的行为 ,之前的Internet Explorer 9的WinInet镜像的行为。

见监控流量从IE或.NET本地主机从提琴手网站介绍了如何对付它。



文章来源: How to make System.Net.WebProxy to not bypass local urls?