HttpWebRequest для HTTPS сайта с перенаправлением

Я пытаюсь автоматизировать чтение некоторой информации со страницы HTTPS с помощью HttpWebRequest. Ссылка, которую я запрашиваю, обычно перенаправляет на страницу с полями логина / пароля, которые помещаются в php-файл.

Код, который у меня не работает, в том, что я просто возвращаю информацию о странице, содержащую форму с полями username/password.

Я не уверен, как я должен справиться с этим сценарием.

Любая помощь, как всегда, высоко ценится.

Заранее спасибо.

 NetworkCredential nc = new NetworkCredential(username, password);
 HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://myaccount.talktalk.co.uk/myservices/bbusage/viewbbusage"); 
 request.AllowAutoRedirect = true;
 request.Credentials = nc;
 request.Method = "POST";
 CookieContainer cc = new CookieContainer();
 request.CookieContainer = cc;
 HttpWebResponse response = (HttpWebResponse)request.GetResponse();
 using (StreamReader reader = new StreamReader(response.GetResponseStream()))
 {    
     Console.WriteLine(reader.ReadToEnd());
 } 

1 ответ

 request.AllowAutoRedirect = true;

Эта строка вызывает пропуск страницы перенаправления, так как HttpRequest автоматически переходит по ссылке перенаправления перед возвратом. Если вы хотите просмотреть страницу перенаправления, измените этот флаг на false.

РЕДАКТИРОВАТЬ:

Возможно, я неправильно прочитал вопрос: если вы имели в виду, что пытаетесь перейти на реальную страницу (не на страницы перенаправления или входа), то вам не следует использовать NetworkCredential. NETworkCredential работает только для Basic, Kerbos и аналогичных систем проверки подлинности на основе браузера. Сайт PHP использует проверку подлинности на основе формы, которая требует выполнения запроса после публикации.

Решение в этом случае состоит в том, чтобы получить форму входа в систему, заполнить соответствующие поля и опубликовать ее, не забывая держать куки в такте, так как ваш контейнер куки должен в этот момент содержать вашу информацию для аутентификации.

Другие вопросы по тегам