Я довольно новичок в этом, и мне больше нечего просить. Я пытаюсь получить доступ к веб-странице программным способом (C#) для некоторого программного обеспечения для веб-утилизации. Я выяснил процесс использования классов HttpWebResponse и HttpWebRequest для входа в систему через форму веб-страницы, но у меня есть веб-сайт, который имеет двухэтапную процедуру входа в систему.Как обрабатывать всплывающие проверки подлинности?
Первый вход осуществляется через всплывающее окно. В фоновом режиме веб-страница не загружается, просто появляется всплывающее диалоговое окно, в котором говорится, что требуется аутентификация и запрашивается имя пользователя и пароль.
После прохождения первого входа второй логин - это просто веб-форма, с которой я мог бы справиться сам с тем, что я уже узнал.
Мой вопрос: Как программно предоставить информацию для входа для запроса всплывающей аутентификации?
EDIT
Просто для получения дополнительной информации. Скрипач дает хосту как CONNECT при попытке доступа к веб-сайту.
EDIT
Я попытался использовать ответ MrEye в ниже, и, хотя, казалось, чтобы получить меня немного дальше, все еще имея зависаний. Я получаю вопросы сертификата, поэтому после некоторой работы Google я нашел обходной путь для него, добавив следующий код:
ServicePointManager.ServerCertificateValidationCallback +=
delegate(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors)
{
return true;
};
Теперь я получаю System.Net.WebException
со значением «Сервер удалить возвратил ошибку: (401) Несанкционированный. " Исключением является Status
- ProtocolError, хотя я еще не смог его получить. Я точно знаю, что введенное имя пользователя/пароль действительны.
401 ответа HTTP указывает на то, что удаленный сервер отверг учетные данные, которые Вы представили ему, я знаю вас сказал, что вы уверены, что они верны, насколько уверены определенные;). Не могли бы вы разместить код для HttpWebRequest? – MrEyes 2010-12-03 00:06:36