Назад | Перейти на главную страницу

Для FTP-скрипта нужна пустая строка

Я пытаюсь определить причину, по которой для некоторых FTP-серверов требуется пустая строка в скрипте следующим образом:

open server.com
username

ftp_commands
bye

См. Пустую строку после учетных данных имени пользователя.

Пример из: FTP из командного файла

еще одна ссылка на то же самое: http://newsgroups.derkeiler.com/Archive/Comp/comp.sys.ibm.as400.misc/2008-05/msg00227.html

Также здесь обсуждается:

archive.midrange.com/midrange-l/200601/msg00048.html «Я наблюдаю такое же поведение, как если бы я не указывал пароль для входа в систему». с ответом, относящимся к нашему же исправлению ... archive.midrange.com/midrange-l/200601/msg00053.html и archive.midrange.com/midrange-l/200601/msg00065.html

Примечание. По моему опыту, вопросы о FTP вызывают неотесанные ответы. По общему признанию, FTP устарел, но у многих клиентов все еще есть устаревшие системы, которые они не могут обновить или заменить. Причину этого здесь не следует обсуждать. Задача этого вопроса - вызвать положительный ответ. Пожалуйста, не отвечайте, если вы не согласны с вышеизложенным. Если вы никогда не сталкивались с этой проблемой, не отвечайте.

Я подозреваю, что это может быть ограничено сценариями FTP, выполняемыми с компьютеров Windows, но мне сказали, что это происходит часто и со многими разными серверами.

Мой конкретный интерес состоит в том, чтобы понять, что может вызвать это, поскольку у меня есть реальный пример производственной системы, которая внезапно требует этого в качестве обходного решения после многих лет работы без проблем. Сервер принадлежит третьей стороне, которая не требует никаких изменений со своей стороны. Детали сервера неизвестны и не могут быть определены.

Любая помощь или поддержка от кого-то, кто сталкивался с таким же, были бы оценены.

пс. Извините за множество слов и ссылок на болезненные ответы, но я задавал аналогичные вопросы о сбоях сервера и в других местах и, к сожалению, получил ответные ответы на FTP и респондентов, спорящих об обоснованности вопроса. Я бы действительно не задавал и не отправлял бы этот вопрос в Интернете, если бы я лучше понимал проблему. Я знаю людей, которые видели эту проблему, но не знаю, что ее вызывает.

Я опасаюсь, что этот вопрос снова превратится в еще одну неуместную дискуссию. Пожалуйста, очень хорошо прошу: пожалуйста, не отвечайте, если вы не сталкивались с подобной проблемой.

ДАЛЬНЕЙШЕЕ РЕДАКТИРОВАНИЕ: Пожалуйста, не предлагайте менять продукт. Проблема не в требовании пустой строки. Мы знаем, что это решает проблему. Проблема заключается в том, чтобы не объяснить причину появления пустой строки. Небольшая разница, но важный момент, который следует отметить при ответе на этот вопрос.

Я тоже столкнулся с подобной проблемой. Я чувствовал, что некоторые из моих команд ftp в сценарии FTP пропускаются. Но через некоторое время я обнаружил, что мой скрипт работает с «интерактивным режимом» как «Вкл.». Я отключил его в скрипте после подключения к FTP-серверу, и, похоже, он сотворил чудо ... Если вы все еще испытываете этот вопрос, попробуйте.

PS: отключив интерактивный режим, мне тоже не нужно было давать пустые строки

Какие окончания строк используются в вашем скрипте? Попробуйте использовать альтернативную форму (если они Windows, используйте Unix, Unix, если они Windows).

Какой FTP-клиент вы используете? Вместо этого рассмотрите возможность использования NCFTP: http://www.ncftp.com/ncftp/ . Он имеет гораздо лучшую поддержку сценариев, чем большинство клиентов, встроенных в операционные системы.

Добавление пустой строки в сценарий кажется приемлемым решением для пропуска строк в сценариях FTP. К сожалению, на форумах и т.п. не так много ссылок на то, чтобы эта проблема решалась. Также маловероятно, что причина будет выявлена ​​без помощи экспертов по протоколу FTP, которые могут активно отлаживать сеанс, вызывающий нарушение. Я бы предпочел, чтобы на этот вопрос были даны ответы в реальном мире на аналогичные случаи и определение причины, но я должен признать, что этого, скорее всего, не произойдет. Также, учитывая типичные ответы на такой вопрос на открытых форумах, я бы сказал, что активное участие в поиске ответа на этот вопрос не произойдет без значительных коммерческих усилий.

Таким образом, на этот вопрос ответят следующим образом: Причина пропуска строки в сценарии FTP не может быть идентифицирована, однако ее можно легко решить, добавив пустую строку в сценарий, в котором обнаружен пропуск строки.

Это происходит из тусклых уголков моей памяти, поскольку мне не приходилось так писать FTP в командной строке с тех пор, о, 90-е ...

В сеансе протокола FTP после отправки имени пользователя на FTP-сервер сервер может запросить пароль, даже если имя пользователя указывает, что следует использовать анонимный FTP (т.е. отправленное имя пользователя ftp или anonymous). В этом случае сервер запрашивает пароль, но игнорирует его. Таким образом, в сценарии, который запускает FTP-клиент командной строки, пустая строка будет использоваться для отправки пустого пароля. Если сервер не запрашивает пароль, пустая строка ничего не делает и безвредна.

Вам нужно использовать готовый к работе ftp-клиент?

Если нет, вы можете взглянуть на продукты NcFTP Client. Я недавно автоматизировал процесс загрузки ftp, и мысль об автоматизации универсального ftp-клиента меня не устраивала.

У клиента NcFTP есть инструмент под названием ncftpbatch, который позволяет автоматизировать процессы ftp без необходимости выполнять всю ручную работу, как при автоматизации общего ftp.

http://www.ncftp.com/ncftp/doc/ncftpbatch.html

Изменить: пропустил часть о предложении другого продукта. Забудь о моем посте.