是否有库来解析FTP LIST命令的输出

Is there a library to parse output from an FTP LIST command?

本文关键字:LIST 命令 输出 FTP 是否      更新时间:2023-10-16

我使用libcURL来获取FTP服务器上的目录列表。问题是FTP的LIST命令的输出没有很好地定义,并且每个服务器的输出都不同。

是否有一个免费的库来解析通用格式?它必须在Mac OS x上运行。

现在许多服务器都支持MLSDMLST命令(参见RFC 3659 Section 7),它们有明确定义的响应来解决这个问题。您应该在返回到旧的LIST命令之前使用这些命令。

有很多LIST格式仍然在网上使用。虽然不是针对您的特定项目的解决方案,但Indy在其库中实现了数十个解析器,因此我知道很容易支持LIST不是一项简单的任务。

如前所述,您可以使用MLSD FTP命令来获得格式化的清单输出(RFC 3659第7节)。为此,将以下调用添加到您的curl_'s:

curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST , "MLSD");

输出将像这样:

type=file;modify=20130319142533;size=8; EXAMPLE.txt

如您所见,有key=value;对可以很容易地解析。