HtmlAgilityPack как парсить сайт с протоколом https если без "правильных" cookie сервер отдает не всю страницу - C#
Формулировка задачи:
Хотел вытаскивать определенную информацию с одного из сайтов mail при помощи HtmlAgilityPack но возникло несколько проблем. При запросе к главной странице сайта возвращается далеко не все, по сути только информация которая дается не авторизованному пользователю, а скрипт авторизации с полями логина и пароля вообще не приходит. Если заранее авторизоваться и заходить на ту страницу которая мне необходима то там приходит вообще не он а ответ с символами в неправильной кодировке и двумя словами JavaScript и cookie. Решил эти 2 проблемы подключив библиотеку WatiN и беру html уже из объекта brauser этой библиотеки тогда все работает. Но хотелось бы получать страницы без открытия IE. На stackoverflow.com советовали включить cookie в HtmlAgilityPack таким способом:
Не помогло. Но сдесь используется класс CookieContainer могули я в него каким то образом подложить те cookie которые есть в моем браузере после обычного входа на сайт?
Заранее спасибо.
var url = "http://www.prettygreen.com/"; var htmlWeb = new HtmlWeb(); htmlWeb.PreRequest += request => { request.CookieContainer = new System.Net.CookieContainer(); return true; }; var htmlDoc = htmlWeb.Load(url); var outerHtml = htmlDoc.DocumentNode.OuterHtml; Assert.AreNotEqual("", outerHtml);
Решение задачи: «HtmlAgilityPack как парсить сайт с протоколом https если без "правильных" cookie сервер отдает не всю страницу»
textual
Листинг программы
var cc = new CookieContainer(); var request = WebRequest.Create("..."); request.CookieContainer = cc; var resp = request.GetResponse(); // теперь куки заполнены, используем их для дальнейших запросов
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д