Определить настройки прокси в браузере по умолчанию - PullRequest
6 голосов
/ 21 июня 2009

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 ]

10 голосов
/ 21 июня 2009

<a href="http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.proxy.aspx" rel="noreferrer">HttpWebRequest.Proxy</a> возвращает интерфейс <a href="http://msdn.microsoft.com/en-us/library/system.net.iwebproxy.aspx" rel="noreferrer">IWebProxy</a>, а не WebProxy. Измените это, и оно будет работать.

Вы также можете использовать WebRequest.DefaultWebProxy или WebRequest.GetSystemWebProxy () , чтобы получить сведения о прокси вместо создания HttpWebRequest и получения прокси из этого.

0 голосов
/ 04 февраля 2012

Для проверки автоматического определения настройки используйте код:

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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...