скриптовый FTP-клиент

Мне нужно, чтобы скрипт загружал все файлы в заданный каталог. У меня только доступ по фтп.

Быстрый тест показывает, что я не могу заставить своего ftp-клиента войти в систему из командной строки. Даже после попытки ответа Арншеа он отказывается читать пароль из файла или stdin.

Даже после входа в систему я не могу скачать дикие карты. (исправлено с помощью mget, спасибо, Арнши)

Попытка wget также не удалась.

Я был бы в порядке с Windows или Linux, если это просто.


person BCS    schedule 06.04.2009    source источник
comment
В чем проблема с wget? Почему это не удается?   -  person Yuval Adam    schedule 06.04.2009
comment
wget не может использовать подстановочные знаки   -  person BCS    schedule 07.04.2009


Ответы (4)


если вы находитесь в Windows, вы можете передать ему текстовый файл с командами для выполнения...

e.g.,

ftp -s:ftptest.txt ftp.download.com

где ftptest.txt содержит

anonymous
[email protected]
bin
hash
prompt
mget *.*
quit
person Shea    schedule 06.04.2009
comment
Да, это чертовски небезопасно, но хех, безопасность не была частью OP :) Кроме того, вместо первых двух строк можно использовать -A. - person Shea; 07.04.2009
comment
Я не могу использовать аноним, и он не принимает пароль от файла - person BCS; 07.04.2009
comment
В примере [email protected] был паролем. Вам нужно будет изменить это на любой пароль. То же самое касается анонимного (измените его на свое имя пользователя). Не используйте -A, если вы не используете анонимный - person Shea; 07.04.2009
comment
Это то, что я пытался. Как я уже сказал, FTP не возьмет пароль из файла. Когда я попытался использовать перенаправление stdin, он получает запрос пароля и ждет ввода с клавиатуры /keyboard/. - person BCS; 07.04.2009
comment
Не уверен, что происходит в вашей системе. Вы уверены, что пароль правильный? Кроме того, убедитесь, что текстовый файл представляет собой обычный текст (например, используйте блокнот, а не wordpad). Отлично работает для обычных и анонимных пользователей в моей системе XP. - person Shea; 07.04.2009
comment
попробуйте это для входа в систему без анона. IIRC то же самое происходит в Linux, поэтому тот, кто писал ftp, думал, что получение pw из файла / канала - это плохо (социальная инженерия и все такое) и заставило его не работать. - person BCS; 07.04.2009

WinSCP поддерживает скрипты

person Mark Biek    schedule 06.04.2009

wget должно работать. Пытаться:

wget ftp://domain.com/full/path --ftp-user=username --ftp-password=password

person Yuval Adam    schedule 06.04.2009
comment
У wget были проблемы с подстановочными знаками - person BCS; 07.04.2009

Robo-FTP также поддерживает скрипты.

Вот скрипт Robo-FTP для загрузки всех файлов в удаленную папку:

WORKINGDIR "c:\destination\folder"
IFERROR GOTO done
FTPLOGON "ftp.mydomain.com" /user="UserID" /pw="secret!"
IFERROR GOTO done
RCVFILE "*" /subdirs /emptydirs
:done
FTPLOGOFF
EXIT 
person AlexPace    schedule 02.09.2011