如何侦听FTP服务器上的更改?

2024-06-09 20:18:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在从几个FTP服务器下载每日文件。这些服务器不是由我管理的,我已被外部方授予访问权限

文件到达一天中的不同时间点。因此,我无法事先知道何时必须发送提取请求

有没有一种聪明的方法来设置侦听器来跟踪这些SFTP服务器上的更改?例如,某种类型的ping返回服务器最后更新的时间戳


Tags: 文件方法服务器权限类型时间ftpping
1条回答
网友
1楼 · 发布于 2024-06-09 20:18:40

首先,FTP和SFTP是两个完全不相关的协议。因此,在一个问题中同时提出这两个问题是没有意义的。不管怎么说,两者的答案其实差不多


FTP和SFTP协议都没有任何机制来通知客户端更改

他们甚至没有办法根据请求报告更改

您所能做的就是定期列出服务器上的所有文件,并将该列表与以前的结果进行比较

使用FTP,可以通过请求按时间戳排序的列表来对其进行略微优化。这样,尤其是当文件夹中有很多文件时,您可以在获得所有新文件后中止列表下载。尽管请求排序列表是一个非标准函数,但得到了广泛支持。见How to get files in FTP folder sorted by modification time


如果您控制了服务器(机器,而不是软件),您可能会在那里构建一个服务来提供您需要的信息。但这与SFTP/FTP无关。由于您不控制服务器,因此也不相关


最近类似的问题:Incremental scan of new/modified FTP files with C#

相关问题 更多 >