c # htmlagility pack, страница не найдена - PullRequest
0 голосов
/ 24 ноября 2018

Я пытаюсь загрузить источник страницы следующего веб-сайта с помощью Htmlagility C #, он всегда возвращает «Страница не найдена», но когда я открываю ее в обычном браузере (chrome), отображается все содержимое.

        HtmlAgilityPack.HtmlWeb web = new HtmlWeb();
        HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
        doc = web.Load("http://www.alfatah.pk/");

1 Ответ

0 голосов
/ 24 ноября 2018

Я получаю 404 с вашим кодом.Почему-то они знают, что мы не люди, а веб-роботы!

Это работает для меня:

    HtmlAgilityPack.HtmlWeb web = new HtmlWeb();
        web.UserAgent="Mozilla/5.0 (Windows NT 6.2; Win64; x64; rv:63.0) Gecko/20100101 Firefox/63.0";

        web.PreRequest += (request) =>
        {
            request.Headers.Add(HttpRequestHeader.Accept, "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
            request.Headers.Add(HttpRequestHeader.AcceptLanguage, "de-DE");
            return true;
        };
        HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();

        doc = web.Load("http://www.alfatah.pk/");
...