是否有库来解析FTP LIST命令的输出
Is there a library to parse output from an FTP LIST command?
我使用libcURL来获取FTP服务器上的目录列表。问题是FTP的LIST
命令的输出没有很好地定义,并且每个服务器的输出都不同。
是否有一个免费的库来解析通用格式?它必须在Mac OS x上运行。
现在许多服务器都支持MLSD
和MLST
命令(参见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;
对可以很容易地解析。
相关文章:
- 使用std::multimap迭代器创建std::list
- 来自 std::list 的迭代器 .end() 按预期返回"0xcdcdcdcdcdcdcdcd"但 .begin()
- 从命令行c++发送文本文件名
- 如何使用 < 和 > 命令获取 c++ 中的输入和输出?
- 为cl.exe(Visual Studio代码)指定命令行C++版本
- 如何在OMNET++中指定与命令行参数组合的输出文件名
- 如何在 C 中正确使用 libiconv 使其不会报告"Arg list too long"?
- C++中带有List类的迭代器Segfault
- 使用"std::unordereded_map"映射到"std::list"对象
- GCC对可能有效的代码抛出init list生存期警告
- 使用QProcess执行命令,并将结果存储在QStringList中
- 数组长度,为什么从命令行获取时不能使用它?
- 使用std::list创建循环链表
- 如果用户输入无效,如何使用字符串变量-C++重复输入命令
- clang整洁10忽略了我的NOLINT命令
- 在子目录中使用target_sources()命令时用于单元测试(qtest)的项目结构
- 如何处理linux终端中带有负号(-)的C++中的命令行参数
- 在 FTP 服务器中正确实现 LIST 命令
- 是否有库来解析FTP LIST命令的输出
- 使用QFtp, abort list()命令