HttpClient HttpResponseMessage LastModified文件的日期

Tyc*_*ahe 5 .net c# date dotnet-httpclient

我正在使用C#HttpClient来模拟从服务器下载CSV文件的请求.我需要根据我下载的上一个文件的LastModified日期检查文件的LastModified日期,以检查文件是否已更改.

我发出请求时,HttpClient会获取HttpResponseMessage,但每次检查时都会

response.Headers.Date.Value
Run Code Online (Sandbox Code Playgroud)

我得到了请求的当前日期/时间.我理解,如果我请求文件的页面是由DB或其他动态方法生成的,则LastModified值将是请求发出的时间.

但是,我使用较旧的HttpWebRequest/Response尝试了相同的过程,我发现了

response.Headers[HttpResponseHeader.LastModified]
Run Code Online (Sandbox Code Playgroud)

将返回文件上次更改的日期,例如,2种不同的方法返回不同的日期,HttpWebResponse给出日期为1/12/2017,HttpResponseMessage给出日期为2017年3月30日.

如何使用HttpWebResponse获取文件更改日期?

Tyc*_*ahe 11

来自https://social.msdn.microsoft.com/Forums/windowsapps/en-US/c830971a-e60f-4759-ba2a-42638b0afad0/uwp-lastmodifiedheader-invalid?forum=wpdevelop

"Last-Modified HTTP标头被视为HTTP响应内容的一部分,而不是HTTP响应本身,"

我能够通过访问响应标头的内容而不是标头本身来提取LastModified日期

DateTime lastModified = result.Content.Headers.LastModified;
Run Code Online (Sandbox Code Playgroud)