Является ли формат (P) SFTP dir / ls стандартным? - PullRequest
5 голосов
/ 10 июля 2010

Я собираю что-то для загрузки некоторых файлов через SFTP.Я использую команду PuTTY psftp.exe.

Когда я выполняю dir / ls в PSFTP, формат вывода стандартизирован, либо SFTP, либо самим PSFTP?Или это просто текст произвольной формы, который сервер отправляет в ответ?

Я спрашиваю, потому что я верю в FTP (еще когда!), Он вообще не был стандартизирован, и у меня только один SFTPсервер здесь для проверки.

Ответы [ 2 ]

2 голосов
/ 13 июля 2010

Мэтью, локальный клиент может выбрать отображение информации о слотах longname из ответа SSH_FXP_NAME вместо локальной генерации из имени файла и attrs slots.

Не смотря на то, что psftp делает это внутренне, вы не можете быть полностью уверены, что его формат не изменится при подключении к другому серверу.

2 голосов
/ 10 июля 2010

В отличие от FTP (который использовал вывод текста LIST), протокол SFTP основан на двоичных структурах, поэтому Putty выполняет все форматирование. В частности, он использует команду SSH_FXP_READDIR для чтения записей каталога, которые возвращаются в формате, заданном SSH_FXP_NAME .

В идеале вы должны использовать API, а не psftp. Но если вы решите разобрать текст, у вас есть PuTTY и только PuTTY, чтобы беспокоиться.

Моя ошибка. В новом черновике , на который я смотрел, нет такого текстового поля longname. Однако старые версии делают.

...