如何检查远程文件的修改时间

本文关键字:文件 修改 时间 何检查 检查 程文件 | 更新日期: 2023-09-27 18:20:48

在下载整个内容之前,我需要知道远程文件的最后一次修改DateTime。这是为了节省下载字节,我无论如何都不需要。

目前我正在使用WebClient下载该文件。不需要特别保留WebClient的使用。Last-Modified密钥可以在响应头中找到,但整个文件都是在该时间点下载的。

WebClient           webClient        = new WebClient();
byte[]              buffer           = webClient.DownloadData( uri );
WebHeaderCollection webClientHeaders = webClient.ResponseHeaders;
String              modified         = webClientHeaders.GetKey( "Last-Modified" );

此外,我不确定这个密钥是否总是包含在互联网上的每个文件中。

如何检查远程文件的修改时间

您可以使用HTTP"HEAD"方法来获取文件的头。

...
var request = WebRequest.Create(uri);
request.Method = "HEAD";
...

然后,您可以提取最后修改的日期,并检查是否下载该文件。

请注意,并非所有服务器都能正确实现Last modified。