0

我正在创建一个 Python 程序,该程序确定网站上的文件是否已经在我的计算机上可用(已经下载),我确定的方法是我从网站上获取该文件的 MD5,然后将其与 MD5 进行比较存储在我的数据库中的文件记录。我担心如果在网站上尝试大文件,这个过程会很慢;那么只计算网络上该文件的前 1024 个字节以确定它是否是重复文件是否安全?或者您是否有一些更简单优雅或更快的方式在 Python 中执行此操作。

4

1 回答 1

1

不; 网页在前 1024 个字节中相同的情况并不少见。例如,许多复杂网站的 HTML 文件顶部都有 JavaScript、CSS 和样板 HTML,远远超过了您预算的 1024 字节。

对真实数据的一些实验可能会揭示一个合理的缓冲区,但是除了进行全文件比较之外,根本无法预测两个其他相同的文件在最后一个字节上不会有差异。但是,如果您的输入数据另有说明(例如,也许您要比较的是单个推文?),那么请务必这样做。

许多 Web 服务器将包含一个服务器生成的ETag:标头,这可能很有用,但它不是标准化的,而且据您所知,它们很容易欺骗您。

于 2013-06-25T06:16:46.550 回答