首页 > 解决方案 > 时间:2019-05-10 标签:c#htmlagilitypack,Page not Found

问题描述

我正在尝试使用 Htmlagility C# 加载以下网站的页面源,它​​总是返回“找不到页面”,但是当我在普通浏览器(chrome)中打开它时,它会显示所有内容。

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

标签: c#html-agility-pack

解决方案


我的代码也收到了 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/");

推荐阅读