C# 有没有办法使用HtmlAgilityPack检测404页?
我正在解析一个论坛,其中一些线程已经被删除。因此,打开它们仍然会显示一个页面,但会显示一条消息:“线程不再存在”。有没有一种方法可以用一种特殊的方式使用HtmlAgilityPack来查询这个问题C# 有没有办法使用HtmlAgilityPack检测404页?,c#,.net,parsing,html-agility-pack,C#,.net,Parsing,Html Agility Pack,我正在解析一个论坛,其中一些线程已经被删除。因此,打开它们仍然会显示一个页面,但会显示一条消息:“线程不再存在”。有没有一种方法可以用一种特殊的方式使用HtmlAgilityPack来查询这个问题 或者我必须比较InnerHtml或类似的东西吗?404实际上没有被返回。如果是,您可以只查看标题 也就是说,您将得到一个带有错误的200响应,因此您必须解析html,遍历DOM,不管您想调用它什么,并确定它是否失败 似乎可能存在多条不同的错误消息,因此我将尝试通过查找“通知管理员”链接或class=“
或者我必须比较InnerHtml或类似的东西吗?404实际上没有被返回。如果是,您可以只查看标题 也就是说,您将得到一个带有错误的200响应,因此您必须解析html,遍历DOM,不管您想调用它什么,并确定它是否失败 似乎可能存在多条不同的错误消息,因此我将尝试通过查找“通知管理员”链接或class=“blockrow restore”仅在错误页面上使用来进行一般性比较
希望这能有所帮助。如果看不到你将要解析的内容,很难说为什么不自己编写。获取页面上的所有链接并递归ping。404不是一个页面,它是一个协议状态代码。你能将一个示例链接发布到已删除的论坛帖子吗?我正在存储链接,但在用户单击之前不会打开页面。然后用户会看到线程是否被删除。删除线程的示例如下所示:谢谢,200是为错误保留的吗?我能用这个吗?实际上,我已经使用InnerText实现了这一点,并查询该文本是否存在,并且它可以工作。我只是觉得HtmlAP可能会收到一个错误代码或者其他什么。不,200就是成功。200 OK---来自维基百科---成功HTTP请求的标准响应。实际响应将取决于所使用的请求方法。在GET请求中,响应将包含与请求的资源相对应的实体。在POST请求中,响应将包含描述或包含操作结果的实体。[2]