Подтвердить что ты не робот

Доменные учетные данные для класса WebClient не работают

Я пытаюсь получить html-источник веб-сайта через код С#. Когда я обращаюсь к сайту с проверкой подлинности Windows, работает следующий код:

using (WebClient client = new WebClient())
            {
                client.Credentials = CredentialCache.DefaultCredentials;
                using (Stream stream = client.OpenRead("http://intranet/"))
                using (StreamReader reader = new StreamReader(stream))
                {
                    MessageBox.Show(reader.ReadToEnd());
                }
            }

когда я вручную вводим свои учетные данные для домена, я получаю сообщение "unauthenticated":

using (WebClient client = new WebClient())
            {
                NetworkCredential credentials = new NetworkCredential("username", "pass", "domain");
                client.Credentials = credentials;
                using (Stream stream = client.OpenRead("http://intranet/"))
                using (StreamReader reader = new StreamReader(stream))
                {
                    MessageBox.Show(reader.ReadToEnd());
                }
            }

Почему это так?

4b9b3361

Ответ 1

Попробуйте следующее:

CredentialCache cc = new CredentialCache();
cc.Add(
    new Uri("http://intranet/"), 
    "NTLM", 
    new NetworkCredential("username", "pass", "domain"));
client.Credentials = cc;