在下载整个内容之前,我需要知道远程文件的最后修改DateTime
。这样可以省去下载的字节,无论如何我都不需要。
目前我正在使用WebClient
下载该文件。不需要专门使用WebClient
。可以在响应标头中找到Last-Modified密钥,但在该时间点下载整个文件。
WebClient webClient = new WebClient();
byte[] buffer = webClient.DownloadData( uri );
WebHeaderCollection webClientHeaders = webClient.ResponseHeaders;
String modified = webClientHeaders.GetKey( "Last-Modified" );
此外,我不确定该密钥是否始终包含在互联网上的每个文件中。
答案 0 :(得分:4)
您可以使用HTTP“HEAD”方法获取文件的标题。
...
var request = WebRequest.Create(uri);
request.Method = "HEAD";
...
然后,您可以提取上次修改日期并检查是否下载该文件。
请注意,并非所有服务器都能正确实施Last-modified。