URL 规范化的主要目的之一是避免 GET
对产生完全相同结果的不同 URL 的请求。
现在,我知道您可以检查 canonical tag
甚至比较两个 URL 的 HTML 以查看它们是否相同,但是您必须下载完全相同的资源两次才能执行此操作,这超出了我之前提到的要点。
有没有一种方法可以检查仅执行 HEAD 请求的重复内容?如果没有,有没有办法只下载 <head>
网页的一部分而不下载整个文档?
最后一个我能想到解决办法,就是想知道有没有直接的。
最佳答案
根据 MSDN 文档,您的问题的解决方案如下
Dim myHttpWebRequest As HttpWebRequest = CType(WebRequest.Create(url), HttpWebRequest)
Dim myHttpWebResponse As HttpWebResponse = CType(myHttpWebRequest.GetResponse(), HttpWebResponse)
Console.WriteLine(ControlChars.Lf + ControlChars.Cr + "The following headers were received in the response")
Dim i As Integer
While i < myHttpWebResponse.Headers.Count
Console.WriteLine(ControlChars.Cr + "Header Name:{0}, Value :{1}", myHttpWebResponse.Headers.Keys(i), myHttpWebResponse.Headers(i))
i = i + 1
End While
myHttpWebResponse.Close()
让我解释一下这段代码 第一行创建一个具有指定 URL 的 HttpWebRequest,第二行和第三行显示从 URI 和第四到第八行收到的响应中存在的所有 header - Headers 属性是一个 WebHeaderCollection。使用它的属性遍历集合并显示每个标题和第十个以关闭请求,如果您想要网页的唯一标题部分,则可以在 http://www.phpclasses.org/package/4033-PHP-Extract-HTML-contained-in-tags-from-a-Web-page.html 免费获得 PHP 类。
关于html - 在不执行 GET 的情况下检查重复内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5957374/