如何查看远程Web服务器上的文件是否已更新?

Nib*_*Pig 1 c#

公司发布文件并定期更新.

例如. http://somecompany.com/blah/file.zip

我想每天轮询一次,看它是否已经更新.

我猜我可以查看http标头来获取文件大小,或者可能是日期/校验和,表明它已经更改.

我想知道是否有一个优雅的解决方案在C#中执行此操作,而不是创建直接TCP连接和发送一些命令.

有任何想法吗?

Kam*_*ami 5

由于文件位于远程Web服务器上,因此您可以使用Last-Modified标头字段来标识文件是否有任何更改.

HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://somecompany.com/blah/file.zip");
request.Method = "HEAD"; // Important - Not interested in file contents

HttpWebResponse resp = (HttpWebResponse)request.GetResponse();
Console.WriteLine(resp.LastModified);
Run Code Online (Sandbox Code Playgroud)

确保您使用的HEAD是请求方法; 就像GET下载文件一样.