Делаю тут клиента к FTP серверу, но у меня зоопарк из серверов(не моих) и есть отличия. В принципе основная проблема в том как они обрабатывают команду LIST (MLST/NLST не предлагать, не все поддерживают и в .NET CLR клиенте нету)
Товарищи линуксоиды, кто подскажет почему так случается..
В принципе то что они возвращают похоже на ls -all из того что я вижу. Но есть такие кадры где возвращается путь вместе с именем файла:
-rw-rw-rw- 1 generic 235 Mar 22 11:21 fromRyder/RYD997ATХХ.20170322170721232.1962397386.txt
-rw-rw-rw- 1 generic 235 Mar 22 12:21 fromRyder/204-MGOHL-ATХХ-CANCEL-7725547360.edi
А у меня парсер всю заднюю часть как за имя файла читает, потом соответственно оно не работает когда я хочу файл скачать(т.к. там путь указан).
Т.е. меня чего интересует. Почему оно так? Я могу конечно убрать путь из строки, но мне интересно как я могу попасть с каким то еще хитрым сервером.
FTP LIST command
-
- Уже с Приветом
- Posts: 23804
- Joined: 05 Jul 2003 22:34
- Location: Брест -> St. Louis, MO
FTP LIST command
Лучше водки — хуже нет! ©
-
- Уже с Приветом
- Posts: 4827
- Joined: 15 May 2001 09:01
Re: FTP LIST command
Читаем RFC 959
Я бы забыл про FTP и сделал всё на SSH/SFTP. Кроме стандарта вывода ls/ls -l, нет разнобоя BIN/TEXT, нет проблем с портами - не надо возиться с PASV, есть возможность заходить по ключу, да библиотеки для компутерного клиента у него сильно лучше.
То есть всё зависит от сервера, коих воз и маленькая тележка, и цепляться к формату вывода можно разве что угадывая формат для каждого сервера.LIST (LIST)
This command causes a list to be sent from the server to the
passive DTP. [..]
Since the information on a file may vary widely from system
to system, this information may be hard to use automatically
in a program, but may be quite useful to a human user.
Я бы забыл про FTP и сделал всё на SSH/SFTP. Кроме стандарта вывода ls/ls -l, нет разнобоя BIN/TEXT, нет проблем с портами - не надо возиться с PASV, есть возможность заходить по ключу, да библиотеки для компутерного клиента у него сильно лучше.
-
- Уже с Приветом
- Posts: 23804
- Joined: 05 Jul 2003 22:34
- Location: Брест -> St. Louis, MO
Re: FTP LIST command
Понятно все, сервера не мои, мы интегрируемся и ничего не поделать. Как и говорю, есть способ сконфигурировать подсоединение и к каждому клиенту добавлять regex чтоб парсить его выхлоп Но хотелось бы покрыть максимум.helg wrote: ↑22 Mar 2017 22:59 Читаем RFC 959То есть всё зависит от сервера, коих воз и маленькая тележка, и цепляться к формату вывода можно разве что угадывая формат для каждого сервера.LIST (LIST)
This command causes a list to be sent from the server to the
passive DTP. [..]
Since the information on a file may vary widely from system
to system, this information may be hard to use automatically
in a program, but may be quite useful to a human user.
Я бы забыл про FTP и сделал всё на SSH/SFTP. Кроме стандарта вывода ls/ls -l, нет разнобоя BIN/TEXT, нет проблем с портами - не надо возиться с PASV, есть возможность заходить по ключу, да библиотеки для компутерного клиента у него сильно лучше.
Вот конкретно меня интересует что за сервер пишет пути таким образом (с файлами) и в чем прикол/логика? Тут больше вопрос к тому кто именно имеет опыт с большим зоопарком разных типов FTP серверов.
Лучше водки — хуже нет! ©
-
- Уже с Приветом
- Posts: 4827
- Joined: 15 May 2001 09:01
Re: FTP LIST command
Раз это продукт для рынка, и он зависим от формата нестандартизированного вывода команды LIST, я бы написал: с какими именно FTP серверами он совместим "из коробки" - ну и слова про возможность скрещивания с другими серверами.
-
- Уже с Приветом
- Posts: 13682
- Joined: 16 Jan 2001 10:01
Re: FTP LIST command
А разве file.txt и dir/file.txt не разные вещи?
-
- Уже с Приветом
- Posts: 23804
- Joined: 05 Jul 2003 22:34
- Location: Брест -> St. Louis, MO
Re: FTP LIST command
Разные, но почему она их кажет? На самом то деле я УЖЕ делаю CWD и нахожусь в папке. В Линуксе же показывает только файлы и папки в current directory. И здесь также, но зачем-то добавляет папку спереди.
Лучше водки — хуже нет! ©
-
- Уже с Приветом
- Posts: 13682
- Joined: 16 Jan 2001 10:01
-
- Уже с Приветом
- Posts: 23804
- Joined: 05 Jul 2003 22:34
- Location: Брест -> St. Louis, MO
-
- Уже с Приветом
- Posts: 13682
- Joined: 16 Jan 2001 10:01
Re: FTP LIST command
Идея в том что list из домашней директории должен отображаться более предсказуемо.
Хотя конечно от MS всего можно ожидать...
-
- Уже с Приветом
- Posts: 23804
- Joined: 05 Jul 2003 22:34
- Location: Брест -> St. Louis, MO
-
- Уже с Приветом
- Posts: 13682
- Joined: 16 Jan 2001 10:01
Re: FTP LIST command
МС адназначна!