【问题标题】:Check if FTP Server supports MLSD检查 FTP 服务器是否支持 MLSD
【发布时间】:2014-02-19 12:40:26
【问题描述】:

我正在使用 apache.commons.net.FTPClient 从客户那里获取一些文件,但我发现有一个 ftpserver 没有按应有的方式处理命令列表,因为它总是返回当前目录而不是我表示。

我发现 mlistFile (MLSD) 在该机器上运行良好!

我的问题是: 有什么方法可以通过 apache.commons.net 找出我是否应该使用 MLDS 或 LIST commnad?

任何标志或类似的东西?

谢谢

【问题讨论】:

标签: java ftp-client apache-commons-net


【解决方案1】:

您可以使用“FEAT”命令。 它显示了您可以使用的命令。

【讨论】:

  • 在某些服务器上试过,FEAT 只显示 MLST,但 HELP 显示 MLST 和 MLSD。
  • 我认为 HELP 会告诉您您的客户支持什么。 FEAT 将给出服务器支持的内容。
【解决方案2】:

这是我发现的(可能为时已晚?):您可以在 FTPClient 对象上调用函数 listHelp() 以获取远程服务器识别的命令。你会得到一个输出,比如

214-The following commands are recognized.
 ABOR ACCT ALLO APPE CDUP CWD  DELE EPRT EPSV FEAT HELP LIST MDTM MKD
 MODE NLST NOOP OPTS PASS PASV PORT PWD  QUIT REIN REST RETR RMD  RNFR
 RNTO SITE SIZE SMNT STAT STOR STOU STRU SYST TYPE USER XCUP XCWD XMKD
 XPWD XRMD

您只需检查 MLSD 是否在列表中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-07
    • 2019-11-11
    • 2020-03-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多