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(); // теперь куки заполнены, используем их для дальнейших запросов
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д