HtmlAgilityPack как парсить сайт с протоколом https если без "правильных" cookie сервер отдает не всю страницу - C#

Узнай цену своей работы

Формулировка задачи:

Хотел вытаскивать определенную информацию с одного из сайтов mail при помощи HtmlAgilityPack но возникло несколько проблем. При запросе к главной странице сайта возвращается далеко не все, по сути только информация которая дается не авторизованному пользователю, а скрипт авторизации с полями логина и пароля вообще не приходит. Если заранее авторизоваться и заходить на ту страницу которая мне необходима то там приходит вообще не он а ответ с символами в неправильной кодировке и двумя словами JavaScript и cookie. Решил эти 2 проблемы подключив библиотеку WatiN и беру html уже из объекта brauser этой библиотеки тогда все работает. Но хотелось бы получать страницы без открытия IE. На stackoverflow.com советовали включить cookie в HtmlAgilityPack таким способом:
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);
Не помогло. Но сдесь используется класс CookieContainer могули я в него каким то образом подложить те cookie которые есть в моем браузере после обычного входа на сайт? Заранее спасибо.

Решение задачи: «HtmlAgilityPack как парсить сайт с протоколом https если без "правильных" cookie сервер отдает не всю страницу»

textual
Листинг программы
var cc = new CookieContainer();
var request = WebRequest.Create("...");
request.CookieContainer = cc;
var resp = request.GetResponse(); // теперь куки заполнены, используем их для дальнейших запросов

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.125 из 5
Похожие ответы