检测默认Web浏览器的代理服务器设置(Detect proxy settings of defaul

2019-07-29 01:36发布

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”

我有什么选择?

Answer 1:

HttpWebRequest.Proxy返回IWebProxy接口,而不是WebProxy 。 改变这种状况,它会工作。

您还可以使用WebRequest.DefaultWebProxy或WebRequest.GetSystemWebProxy()来获取代理细节,而不是把一个HttpWebRequest ,并得到来自代理。



Answer 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);


文章来源: Detect proxy settings of default web browser
标签: c# proxy