是否有一个库可以解析 FTP LIST 命令的输出?

发布于 2024-12-11 10:00:40 字数 136 浏览 0 评论 0原文

我正在使用 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

梦巷 2024-12-18 10:00:40

现在许多服务器都支持 MLSDMLST 命令(请参阅 RFC 3659 第 7 节),其中有明确的响应来解决这个问题。您应该在回退到旧的 LIST 命令之前使用这些命令。

有很多 LIST 格式仍在网上使用。虽然不是适合您特定项目的解决方案,但 Indy 在其库中实现了几十个解析器,所以我知道它不是一个非常轻松地支持 LIST 的简单任务。

Many servers nowadays support the MLSD and MLST 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 old LIST 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 support LIST very easily.

把昨日还给我 2024-12-18 10:00:40

如前所述,您可以使用 MLSD FTP 命令获取格式化的列表输出(RFC 3659 第 7 部分)。
为此,请将以下调用添加到您的curl_中:

curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST , "MLSD");

然后输出将类似于:

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

正如您所看到的,有可以轻松解析的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:

curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST , "MLSD");

The output will then be something like that:

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

As you can see there are key=value; pairs that can be parsed easily.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文