0

我再次向你们寻求关于我遇到的问题的专业知识和建议。我想知道你们中是否有人知道如何检测网页是否已使用 VB.NET 进行了修改。我需要能够设置一个定期(如每周一次)扫描用户输入的网页的任务,如果网页内容发生了变化,我需要向已更改的个人发送电子邮件(而不是页面本身的确切位置)。我将存储 HTTP 状态,当然还有页面数据本身以及上次修改的日期。当然,这需要非常容错,因为可能要再过一周才能再次运行检查。任何帮助都会很棒。谢谢你。

编辑

这个问题的新转折对不起。我有更多的时间来思考我们想要什么。所以...检测网页上的任何更改都会有点愚蠢,因为页面的时间相关元素会经常更改。相反,我想做的是能够检测页面中的文档。例如,如果该页面上有更改的 excel、word 文档或 pdf。所以,我会在这些文档上运行哈希,然后按某种时间表检查是否添加了新文档或是否修改了旧文档。有关如何检测页面上嵌入的文档并运行哈希的任何建议?再次感谢!

4

2 回答 2

3

正如我在评论中提到的,这种工作就是校验和(也称为哈希函数)的设计目的。

您的代码将如下所示:

- for each webpage of interest
  - pull webbpage
  - calculate checksum of contents
  - is current checksum different to last checksum?
    - if yes, send email
  - store new checksum and other appropriate data

.Net 框架有许多可用的校验和。最流行的两个是MD5sha1

于 2013-07-19T13:01:58.667 回答
2

除了校验和选项之外,还有各种 Diff 函数可以实现这一点,并提供比 changed=true/false 更多的信息。这个问题有更多信息:

如何判断 VB.net 中的网页何时更改了 x%?

于 2013-07-19T13:15:41.533 回答