检查重复内容而不进行GET

时间:2011-05-10 22:47:57

标签: html url duplicate-data

网址规范化的主要目的之一是避免对产生完全相同结果的不同网址发出GET次请求。

现在,我知道您可以检查canonical tag甚至比较两个网址的HTML以查看它们是否相同,但是为了做到这一点,您必须两次下载完全相同的资源,殴打我之前说过的一点。

有没有办法检查只执行HEAD请求的重复内容?如果没有,是否有办法只下载网页的<head>部分而不下载整个文档?

我可以想到最后一个的解决方案,我只是不知道是否有直接解决方案。

1 个答案:

答案 0 :(得分:1)

根据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和第四到第八行收到的响应中出现的所有Headers - Headers属性是一个WebHeaderCollection。使用它的属性遍历集合并显示每个标题和第十个以关闭请求,如果您想要网页的唯一头部,那么PHP类可以在http://www.phpclasses.org/package/4033-PHP-Extract-HTML-contained-in-tags-from-a-Web-page.html免费获得