c# - 如何查看远程网络服务器上的文件是否已更新?

标签 c#

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

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

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

我猜我可以查看 http header 以获取文件大小,或者可能是表明文件已更改的日期/校验和。

我想知道除了创建直接 TCP 连接和发送一些命令之外,是否有一种优雅的解决方案可以在 C# 中执行此操作。

有什么想法吗?

最佳答案

由于文件位于远程 Web 服务器上,您可以使用 Last-Modified header 字段来确定文件是否有任何更改。

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);

确保您使用HEAD 作为请求方法;因为 GET 会下载文件。

关于c# - 如何查看远程网络服务器上的文件是否已更新?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19561562/

相关文章:

C#序列化到文件,如果存在则覆盖

c# - Linq、Expressions、NHibernate 和 Like 比较

c# - 在c#中使用windows 10关机消息

c# - 控制台应用程序和异步等待示例正在阻塞

c# - 所有 C# .NET 方法的引用库

c# - 我的方法真的是异步的吗?

c# - Entity Framework : Automatically sorting generic DbSet by primary key

c# - 如果用户必须给出 1 到 10 个数字,我是使用数组还是 while 循环?

c# - 如何在C#中拆分字符串

c# - HttpWebRequest.GetResponse() 随机挂起