У меня есть веб-сайт, который использует обычную аутентификацию (имя пользователя / пароль).
Почему следующий код не работает? Когда я запускаю его, веб-приложение переносит меня к контроллеру входа в систему, в то время как я ожидаю, что оно уже должно быть аутентифицировано, поскольку я заполняю учетные данные. Другими словами, я пытаюсь подтвердить, как в .NET я подтверждаю мой winforms HttpWebRequest, чтобы он автоматизировал процесс аутентификации. Я предполагаю, что NetworkCredential - это класс .net, который должен это делать? Или в .NET есть ожидание, что есть какой-то ручной двухэтапный процесс, который вы должны реализовать самостоятельно?
Вот код:
// Create a new webrequest to the mentioned URL.
var uri = new Uri("http://10.1.1.102:3000/download/sunset");
var myWebRequest = (HttpWebRequest)WebRequest.Create(uri);
myWebRequest.PreAuthenticate=true;
var networkCredential=new NetworkCredential("test", "asdfasdf");
myWebRequest.Credentials=networkCredential;
var myWebResponse = (HttpWebResponse)myWebRequest.GetResponse();
Console.Out.WriteLine("STATUS = " + myWebResponse.StatusCode);
var stream = myWebResponse.GetResponseStream();
var reader = new StreamReader(stream);
string text_read = reader.ReadToEnd();
Console.WriteLine(text_read);
DisplayHtml(text_read);
reader.Close();
stream.Close();
myWebResponse.Close();
Спасибо