我使用libcURL获取FTP服务器上的目录列表。问题是FTP的LIST
命令的输出定义不明确,每个服务器的输出不同。
是否有解析常见格式的免费库?它必须在Mac OS X上运行。
答案 0 :(得分:1)
现在,许多服务器都支持MLSD
和MLST
命令(请参阅RFC 3659第7节),这些命令具有明确定义的响应以解决此问题。您应该在返回旧的LIST
命令之前使用它们。
目前仍有大量LIST
格式在线使用。虽然不是您的特定项目的解决方案,但Indy在其库中实现了几十个解析器,因此我知道非常容易支持LIST
并不是一项简单的任务。
答案 1 :(得分:0)
如前所述,您可以使用MLSD FTP命令获取格式化的列表输出(RFC 3659第7节)。 为此,请将以下调用添加到curl_:
curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST , "MLSD");
输出将是这样的:
type=file;modify=20130319142533;size=8; EXAMPLE.txt
正如您所看到的,可以轻松解析key=value;
对。