Я пытаюсь сделать запрос на веб-страницу, используя класс WebRequest в .net. URL-адрес, который я пытаюсь прочитать, требует проверки подлинности Windows, из-за которой я получаю несанкционированное исключение. Как передать этому запросу учетные данные Windows, чтобы он мог пройти аутентификацию.
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create( "http://myapp/home.aspx" );
request.Method = "GET";
request.UseDefaultCredentials = false;
request.PreAuthenticate = true;
request.Credentials = new NetworkCredential( "username", "password", "domain" );
HttpWebResponse response = (HttpWebResponse)request.GetResponse(); // Raises Unauthorized Exception
this.Response.Write( response.StatusCode );
Приведенный выше код возвращает следующую ошибку.
System.Net.WebException: The remote server returned an error: (401) Unauthorized.
При проверке деталей исключения я заметил одну вещь: URL-адрес, к которому я пытаюсь получить доступ, перенаправляет на другой URL-адрес, который предлагает мне предоставить данные для входа в NT. Я считаю, что учетные данные также должны быть перенаправлены на этот URL-адрес. Но, видимо, этого не происходит.