检测默认Web浏览器的代理设置

时间:2009-06-21 10:38:47

标签: c# proxy

MSDN示例

HttpWebRequest myWebRequest=(HttpWebRequest)WebRequest.Create("http://www.microsoft.com");
WebProxy myProxy=new WebProxy();
// Obtain the 'Proxy' of the  Default browser.  
myProxy=(WebProxy)myWebRequest.Proxy;

不起作用。 我得到的错误是:无法将“WebProxyWrapper”类型的对象强制转换为“System.Net.WebProxy”

我有哪些选择?

2 个答案:

答案 0 :(得分:10)

HttpWebRequest.Proxy返回IWebProxy界面,而不是WebProxy。改变它,它会起作用。

您还可以使用WebRequest.DefaultWebProxyWebRequest.GetSystemWebProxy()来获取代理详细信息,而不是制作HttpWebRequest并从中获取代理。

答案 1 :(得分:-2)

要检查自动检测设置,请使用代码:

RegistryKey registry = Registry.CurrentUser.OpenSubKey(
    "Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings", true);
registry.SetValue("ProxyEnable", 0);
RegistryKey registry2 = Registry.CurrentUser.OpenSubKey(
    "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\Connections", true);
registry2.DeleteValue("DefaultConnectionSettings", false);
registry2.DeleteValue("SavedLegacySettings", false);