我想以程序方式(C#)获取在“IE - > Lan设置”中设置的代理,并使用以下代码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;
}
答案 0 :(得分:0)
您需要将其投射到WebProxy
对象吗?接受代理的许多实现现在采用IWebProxy
,而DefaultWebProxy
实现IWebProxy
。
例如:
IWebProxy proxy2 = WebRequest.DefaultWebProxy;
WebClient wc = new WebClient();
wc.Proxy = proxy2;
甚至更加谦逊:
WebClient wc = new WebClient();
wc.Proxy = WebRequest.DefaultWebProxy;