Есть ли библиотека для разбора вывода команды FTP LIST? - PullRequest
0 голосов
/ 25 октября 2011

Я использую libcURL, чтобы получить список каталогов на FTP-сервере. Проблема в том, что вывод команды FTP LIST не определен, и он отличается для каждого сервера.

Есть ли бесплатная библиотека, которая анализирует распространенные форматы? Он должен работать на Mac OS X.

Ответы [ 2 ]

1 голос
/ 25 октября 2011

В настоящее время многие серверы поддерживают команды MLSD и MLST (см. RFC 3659 Раздел 7), которые имеют четко определенные ответы для решения этой самой проблемы. Вы должны использовать их, прежде чем вернуться к старой команде LIST.

В сети все еще используется МНОГО LIST форматов. Хотя это не решение для вашего конкретного проекта, Indy реализует несколько десятков парсеров в своей библиотеке, поэтому я знаю, что не так-то просто поддержать LIST очень легко.

0 голосов
/ 19 марта 2013

Как уже упоминалось, вы можете использовать команду MLSD FTP для получения отформатированного вывода списка (RFC 3659, раздел 7). Для этого добавьте следующий вызов к вашим curl_'s:

curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST , "MLSD");

Вывод будет примерно таким:

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

Как видите, есть key=value; пар, которые можно легко проанализировать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...