我正在创建一个服务来监视FTP位置的新更新,并要求能够使用 WebRequestMethods.Ftp.ListDirectoryDetails 方法解析从 FtpWebRequest 响应返回的响应。如果所有响应都遵循相同的格式,则很容易,但是不同的FTP服务器软件提供不同的响应格式。
例如,一个可能返回:
08-10-11 12:02PM <DIR> Version2 06-25-09 02:41PM 144700153 image34.gif 06-25-09 02:51PM 144700153 updates.txt 11-04-10 02:45PM 144700214 digger.tif
并且另一台服务器可能会返回:
d--x--x--x 2 ftp ftp 4096 Mar 07 2002 bin -rw-r--r-- 1 ftp ftp 659450 Jun 15 05:07 TEST.TXT -rw-r--r-- 1 ftp ftp 101786380 Sep 08 2008 TEST03-05.TXT drwxrwxr-x 2 ftp ftp 4096 May 06 12:24 dropoff
而且还观察到其他差异,因此可能存在许多我尚未遇到的细微差异。
是否有人知道可以无缝处理这些情况的完全托管(不需要在Windows上访问外部dll)的C#类?
我只需要列出具有以下详细信息的目录内容:文件/目录名称,最近更新或创建的时间戳,文件/目录名称。
预先感谢您的任何建议,加文
我遇到的一种解决方案是EdtFTPnet
EdtFTPnet似乎是一个功能强大的解决方案,可以处理许多不同的FTP选项,因此非常理想。
这是我在http://www.ftp2rss.com上使用的免费开源解决方案(我需要自己使用的一个小工具,但认为对其他人也可能有用)。