Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/301.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 有没有办法使用HtmlAgilityPack检测404页?_C#_.net_Parsing_Html Agility Pack - Fatal编程技术网

C# 有没有办法使用HtmlAgilityPack检测404页?

C# 有没有办法使用HtmlAgilityPack检测404页?,c#,.net,parsing,html-agility-pack,C#,.net,Parsing,Html Agility Pack,我正在解析一个论坛,其中一些线程已经被删除。因此,打开它们仍然会显示一个页面,但会显示一条消息:“线程不再存在”。有没有一种方法可以用一种特殊的方式使用HtmlAgilityPack来查询这个问题 或者我必须比较InnerHtml或类似的东西吗?404实际上没有被返回。如果是,您可以只查看标题 也就是说,您将得到一个带有错误的200响应,因此您必须解析html,遍历DOM,不管您想调用它什么,并确定它是否失败 似乎可能存在多条不同的错误消息,因此我将尝试通过查找“通知管理员”链接或class=“

我正在解析一个论坛,其中一些线程已经被删除。因此,打开它们仍然会显示一个页面,但会显示一条消息:“线程不再存在”。有没有一种方法可以用一种特殊的方式使用HtmlAgilityPack来查询这个问题


或者我必须比较InnerHtml或类似的东西吗?

404实际上没有被返回。如果是,您可以只查看标题

也就是说,您将得到一个带有错误的200响应,因此您必须解析html,遍历DOM,不管您想调用它什么,并确定它是否失败

似乎可能存在多条不同的错误消息,因此我将尝试通过查找“通知管理员”链接或class=“blockrow restore”仅在错误页面上使用来进行一般性比较


希望这能有所帮助。

如果看不到你将要解析的内容,很难说为什么不自己编写。获取页面上的所有链接并递归ping。404不是一个页面,它是一个协议状态代码。你能将一个示例链接发布到已删除的论坛帖子吗?我正在存储链接,但在用户单击之前不会打开页面。然后用户会看到线程是否被删除。删除线程的示例如下所示:谢谢,200是为错误保留的吗?我能用这个吗?实际上,我已经使用InnerText实现了这一点,并查询该文本是否存在,并且它可以工作。我只是觉得HtmlAP可能会收到一个错误代码或者其他什么。不,200就是成功。200 OK---来自维基百科---成功HTTP请求的标准响应。实际响应将取决于所使用的请求方法。在GET请求中,响应将包含与请求的资源相对应的实体。在POST请求中,响应将包含描述或包含操作结果的实体。[2]