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

时间:2014-09-06 09:46:32

标签: c#

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

目前我正在使用WebClient下载该文件。不需要专门使用WebClient。可以在响应标头中找到Last-Modified密钥,但在该时间点下载整个文件。

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

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

1 个答案:

答案 0 :(得分:4)

您可以使用HTTP“HEAD”方法获取文件的标题。

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

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

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