如何检测URL导航到同一网页

时间:2014-02-14 13:04:37

标签: c# url webpage

我正在使用webbrowser工具尝试构建自己的浏览器。 我遇到麻烦的事情就是历史部分。

当文档完成导航时,我在我的数据库中搜索其URL是否不存在然后我将其添加到历史记录中,否则我只是在数据库中增加此页面的"counter"

问题是,当我每次输入一些页面时,它会给我不同的URL,但它是同一页面!例如google.com,当我导航到它时,它第一次给我(例如):https://www.google.co.il/?gws_rd=cr&ei=eBP-UtPCOMi84ASukoCAAw

我第二次导航:

https://www.google.co.il/?gws_rd=cr&ei=rhP-UpW6CYG54ATAqIHIDg

有没有办法确定这两个网址是否会导致同一页面?

我正在尝试这样做,因为当我将历史记录加载到我的应用程序时,会加载许多通往同一页面的URL。

感谢任何帮助,而不是提前

2 个答案:

答案 0 :(得分:2)

您可以使用Uri对象并要求AbsolutePath属性

答案 1 :(得分:0)

我个人希望我的浏览器能够通过URL而不是内容(根据我的理解,这就是你实际尝试做的事情)。但是,如果您想避免这些多个条目,您可以计算该页面收到的每个内容的哈希码,并增加您的计数器。

问题在于您无法知道服务器将对该URL执行的操作。今天可能是相同的,明天可能不同。我也不会只选择没有参数的URL,因为在其他页面上参数可能会产生非常重要的区别。

另一个注意事项:如果您对内容进行哈希处理,您可能希望排除404页面之类的内容(可能会出现不同的URL,不应该在同一个哈希值下进行分组。)