FTP服务器目录列表格式

本文关键字:列表 格式 服务器 FTP | 更新日期: 2023-09-27 18:15:39

我正在开发一个从FTP服务器下载文件的应用程序。FTP服务器更新和不同的日期时间格式,我收到。我无法解析它们。我怎样才能找到不同的FTP的结果格式?对于不同的格式是否有一个统一的或通用的解决方案?例如,我从不同的服务器收到这些格式:

1- 08-31-16  10:41PM                   95 Global.asax
2- -rw-r--r--    1 0        0          239832 Apr 01  2014 DriverPackSolution.exe

谢谢你的帮助。

FTP服务器目录列表格式

对于FTP LIST命令的列表响应的格式没有标准或通用的解决方案。LIST命令是FtpWebRequestListDirectoryDetails方法后面的命令。

LIST命令是在机器解析可能不被期望的时候引入的(80年代早期)。

为了克服这个问题,稍后引入了MLSD命令。该命令的列表格式由RFC 3659定义。官方示例:

Type=cdir;Modify=19981107085215;Perm=el; tmp
Type=cdir;Modify=19981107085215;Perm=el; /tmp
Type=pdir;Modify=19990112030508;Perm=el; ..
Type=file;Size=25730;Modify=19940728095854;Perm=; capmux.tar.z
Type=file;Size=1830;Modify=19940916055648;Perm=r; hatch.c
Type=file;Size=25624;Modify=19951003165342;Perm=r; MacIP-02.txt
Type=file;Size=2154;Modify=19950501105033;Perm=r; uar.netbsd.patch
Type=file;Size=54757;Modify=19951105101754;Perm=r; iptnnladev.1.0.sit.hqx
Type=file;Size=226546;Modify=19970515023901;Perm=r; melbcs.tif
Type=file;Size=12927;Modify=19961025135602;Perm=r; tardis.1.6.sit.hqx
Type=file;Size=17867;Modify=19961025135602;Perm=r; timelord.1.4.sit.hqx
Type=file;Size=224907;Modify=19980615100045;Perm=r; uar.1.2.3.sit.hqx
Type=file;Size=1024990;Modify=19980130010322;Perm=r; cap60.pl198.tar.gz

不幸的是。net框架不支持MLSD命令。

您必须使用第三方FTP客户端库/程序集来利用标准化的MLSD命令。

参见

  • 解析FtpWebRequest ListDirectoryDetails行
  • c#类解析WebRequestMethods.Ftp.ListDirectoryDetails FTP响应