Я использую HtmlAgilityPack последние 2 месяца в приложении веб-сканера, без проблем загружая веб-страницу.
Теперь, когда я пытаюсь загрузить эту конкретную веб-страницу, документ OuterHtml пуст, поэтому этот тест не выполняется
var url = "http://www.prettygreen.com/";
var htmlWeb = new HtmlWeb();
var htmlDoc = htmlWeb.Load(url);
var outerHtml = htmlDoc.DocumentNode.OuterHtml;
Assert.AreNotEqual("", pageHtml);
Я могу загрузить другую страницу с сайта без каких-либо проблем, таких как настройка
url = "http://www.prettygreen.com/news/";
Раньше у меня когда-то была проблема с кодировками, я играл с htmlWeb.OverrideEncoding и htmlWeb.AutoDetectEncoding без везения. Я понятия не имею, что может быть проблемой здесь с этой веб-страницей.
Кажется, что для этого веб-сайта требуется, чтобы файлы cookie были включены. Поэтому создание контейнера 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);