Я в сети компании. В этой сети я не могу ping внешних веб-сайтов по IP. Я могу назвать их только по URL-адресу, например браузеру. Вот почему я использую WebRequest, чтобы узнать, установлено ли подключение к Интернету.HttpWebRequest Прокси-аутентификация Пользователь и учетные данные пользователя (ошибка 407)
Когда я пытаюсь вызвать «www.google.com» я получил «(407) Proxyauthentification требуется»
Эта Программа должна быть использована на многих ПК. Поэтому я не хочу, чтобы пользовательский пароль и пароль были жестко закодированы в коде.
Это мой код:
try
{
var uriBuilder = new UriBuilder(_URL);
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uriBuilder.Uri);
request.Timeout = 1000;
//request.Accept = "*/*";
WebProxy proxy = new WebProxy("14*.***.***.***:8080");
//request.UseDefaultCredentials = true; //Dont work
//proxy.Credentials = System.Net.NetworkCredential(); //Dont work
proxy.Credentials = CredentialCache.DefaultNetworkCredentials; //dont work too
request.Proxy = proxy;
request.PreAuthenticate = true;
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
_PingByURL = response.StatusCode == HttpStatusCode.OK;
}
catch
{
_PingByURL =false;
}
И мой app.cfg:
<system.net>
<defaultProxy enabled ="true" useDefaultCredentials = "true">
<proxy usesystemdefault ="True" bypassonlocal="True"/> <!--True must written in capital Letters-->
</defaultProxy>
</system.net>
Как я могу решить ошибку "(407) Proxyauthentification требуется"? Или есть лучший способ проверить, установлено ли подключение через Internet через прокси-сервер без его проверки?
Вы уверены, что прокси-сервер вашей компании не требует определенного имени пользователя/пароля? 'DefaultCredentials' означает использование учетной записи Windows текущего пользователя (не имя пользователя/пароль, а фактическая учетная запись). –
требуется имя пользователя и пароль домена. Ему не нужно вводить его. Он использует его автоматически. – Shadow
Значит, 'DefaultCredentials' не являются учетными данными, если вы вошли в систему как пользователь домена? – Shadow