是否有一个库可以解析 FTP LIST 命令的输出?
我正在使用 libcURL 获取 FTP 服务器上的目录列表。问题在于 FTP 的 LIST
命令的输出没有明确定义,并且每个服务器的输出都不同。
有没有可以解析常见格式的免费库?它必须在 Mac OS X 上运行。
I am using libcURL to get a list of directories on an FTP server. The problem is that FTP's LIST
command's output is not well defined and it differs per server.
Is there a free library that parses common formats? It has to work on Mac OS X.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
现在许多服务器都支持
MLSD
和MLST
命令(请参阅 RFC 3659 第 7 节),其中有明确的响应来解决这个问题。您应该在回退到旧的LIST
命令之前使用这些命令。有很多
LIST
格式仍在网上使用。虽然不是适合您特定项目的解决方案,但 Indy 在其库中实现了几十个解析器,所以我知道它不是一个非常轻松地支持LIST
的简单任务。Many servers nowadays support the
MLSD
andMLST
commands (see RFC 3659 Section 7), which have well-defined responses to address this very issue. You should use those before falling back to the oldLIST
command.There are a LOT of
LIST
formats still being used online. Though not a solution for your particular project, Indy implements several dozen parsers in its library, so I know it is not a simple task to supportLIST
very easily.如前所述,您可以使用 MLSD FTP 命令获取格式化的列表输出(RFC 3659 第 7 部分)。
为此,请将以下调用添加到您的curl_中:
然后输出将类似于:
正如您所看到的,有可以轻松解析的
key=value;
对。As mentioned you can used the MLSD FTP command to get the formatted listing output (RFC 3659 Section 7).
To do this, add the following call to your curl_'s:
The output will then be something like that:
As you can see there are
key=value;
pairs that can be parsed easily.