我正在从多个 (S)FTP 服务器下载每日内部文件。这些服务器不是由我管理的,我已被外部各方授予访问权限。这些文件在一天中的不同时间点到达。因此,我不能事先不知道何时必须发送提取请求。有没有一种聪明的方法来设置一个监听器来跟踪这些 SFTP 服务器上的变化?例如,某种返回服务器最后更新时间戳的 ping。
1 回答

慕尼黑8549860
TA贡献1818条经验 获得超11个赞
首先,FTP 和 SFTP 是两个完全不相关的协议。因此,在一个问题中同时要求两者是没有意义的。无论如何,两者的答案实际上几乎相同。
FTP 和 SFTP 协议都没有任何机制来通知客户端有关更改。
他们甚至没有办法报告请求的更改。
您所能做的就是定期列出服务器上的所有文件并将列表与以前的结果进行比较。
使用 FTP,可以通过要求按时间戳排序的列表来稍微优化它。这样,特别是如果文件夹中有很多文件,您可以在获得所有新文件后中止列表下载。虽然要求排序列表是一个非标准功能,但得到广泛支持。请参阅如何获取按修改时间排序的 FTP 文件夹中的文件。
如果你控制了服务器(机器,而不是软件),你可能会在那里建立一个服务来提供你需要的信息。但这与 SFTP/FTP 无关。而且由于您不控制服务器,因此它也不相关。
最近的类似问题:Incremental scan of new/modified FTP files with C#
添加回答
举报
0/150
提交
取消