是否有一个简便和可靠的方式来确认一个网下载成功完成以下载使用蟒蛇或WGET[对于大型文件]?我想确保该文件载的在整之前进行的另一行动。

有帮助吗?

解决方案

鉴于许多人(大多数在实践中,我相信)HTTP/1.1header部分,你可以得到的预期关于如何长的实体的身体。如果你有这种期望,可以决定如果你得到了所有的实体的数据。看看 RFC2616第4.4节 全面细节,但基本上:

  • 有的时候 content-length 准确地反映了长度的实体的身体
  • 有时候就不可能有实体,取决于响应的代码或如果答复是在回答一个 HEAD 请求
  • 有时,该请求是传编码;有一些标记在HTTP数据,其中说:'我现在做'(Transfer-Encoding: chunked)
  • 有时,该消息是正式完成当的连接关闭(在这种情况下,不能之间的区别越来越整个事情和被切断早日)

在所有情况,但最后一个,你可以告诉你,如果你已经得到了整个事情或者没有。我不知道,如果任何工具,特别是(wget或现有的蟒蛇图书馆)给你一个容易解释的信号,你的回答是或不是被截断。

其他提示

HTTP不提供一种方式来检查。

分发大文件时使用的方法是,在下载后,计算该文件的的md5sum,并将其与由该服务器所提供的的md5sum比较。

例如,公司的Ubuntu怎么做分配,并检查他们的CD下载。 https://help.ubuntu.com/community/HowToMD5SUM

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top