【问题标题】:Get proxy from IE lan settings in C#从 C# 中的 IE 局域网设置获取代理
【发布时间】:2014-02-21 23:59:53
【问题描述】:

我想以编程方式(C#)获取在“IE -> Lan Settings”中设置的代理,我使用了来自stackoverflow question的以下代码

WebProxy proxy = (WebProxy) WebRequest.DefaultWebProxy;

但问题是我得到以下异常:-

无法投射“System.Net.WebRequest.DefaultWebProxy”(它有一个 'System.Net.WebRequest.WebProxyWrapper'的实际类型) 'System.Net.WebProxy'

那么如何获取 WebProxy 对象以便检查代理是否设置?

编辑:

我搞定了;我只需要知道是否绕过了特定的网址,所以我这样做了

Uri rpkgURI = new Uri("%url%", UriKind.RelativeOrAbsolute);
IWebProxy webProxy = WebRequest.GetSystemWebProxy();
bool isBypass;
if (webProxy != null)
{
 isBypass = webProxy.IsBypassed(rpkgURI);
}
else
{
 isBypass = true;
}

【问题讨论】:

    标签: c# networking proxy


    【解决方案1】:

    您需要将其转换为WebProxy 对象吗?许多接受代理的实现现在采用IWebProxy,而DefaultWebProxy 实现IWebProxy

    例如:

    IWebProxy proxy2 = WebRequest.DefaultWebProxy;
    WebClient wc = new WebClient();
    wc.Proxy = proxy2;
    

    或者更简洁:

    WebClient wc = new WebClient();
    wc.Proxy = WebRequest.DefaultWebProxy;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-02-07
      • 2011-07-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-20
      • 2011-09-04
      相关资源
      最近更新 更多