FTP Ascii Transfer - возвращает ли клиент или сервер возврат каретки? - PullRequest
2 голосов
/ 04 июня 2011

У меня проблема с переносом файлов ascii с компьютера под управлением Windows 7 на сервер Unix Solaris с использованием FileZilla 3. Проблема заключается в том, что текстовые файлы на компьютере Unix заканчиваются символами CR + LF, а не просто символом LF,приводя к странным символам в конце каждой строки.

Я понимаю проблему - символ CR должен быть удален.Мои вопросы довольно специфичны: клиент или сервер должен удалить этот символ?

Эта страница fileZilla говорит, что дело в том, что файлы ascii всегда передаются с CR+ LF, и клиент должен убедиться, что это произойдет.Затем сервер должен преобразовать его в собственный формат хост-машины, в данном случае Unix, поэтому он должен удалить символы CR.

Однако у меня не было этой проблемы с использованием WS_FTP, и мне любопытно, является ли страница FileZilla просто неверной, или если WS_FTP нарушает соглашение RFC для FTP и фактически передает файл без символа CR.Также возможно, что FileZilla верна, и проблема в том, что FTP-сервер установлен на компьютере с Unix.

Еще раз: нужно ли клиенту или серверу FTP преобразовывать файлы ascii в правильный формат переноса строки?

1 Ответ

1 голос
/ 04 июня 2011

Из RFC:

Конец строки

     The end-of-line sequence defines the separation of printing
     lines.  The sequence is Carriage Return, followed by Line Feed.

В протоколе не указано, что должно храниться в конце сеанса FTP,на клиенте или на сервере только то, как должен выглядеть сеанс.

...