Как переключить ftp.exe в пассивный режим? или загрузка с wput

Раздел: Советы
Написано: 5.05.2010
Автор: Antonio
Просмотров темы: 19 003 раз

Использовал я как-то стандартный ftp.exe из Windows, все было хорошо, пока не он не перестал работать.

200 PORT command successful. Consider using PASV.

Оказалось понадобился пассивный режим.

Так думаю, нет вопросов, прошелся по справке не видно ничего такого, нашел обсуждение

quote pasv

но эта команда переводит сервер в пассивный режим, но не клиент ftp.exe

Альтернатива нашлась быстро — это wput, так как в делах закачки я доверяю wget, то wput был принят в мою команду без колебаний.

Скачать ftp-клиент с возможностью докачки и пассивным режимом работы можно тут или с официального сайта.

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

Пример работы с wput
c:\Work\wput.exe -v -u -nd —basename=c:\data\xls\ c:\data\xls\price.zip ftp://username:password@testsite.com

Слова статьи: как закачать файл на сервер ftp, загрузить файл из командной строки, пассивный режим ftp пример работы, how to configure ftp.exe to use passive mode (PASV), пример использования wput.exe

Внимание! Добавлено 13.10.2011

Что-то с временем обнаружился какой-то баг — при копировании архива с файлами wput’ом на фтп сервер, дата и время файла обновлялось, а текстовый файл не менялся, а иногда менялся, я сильно не заморачивался с выяснением что да как, так как до этого столкнулся с багом 7zip который иногда не создавал новый архив, если старый архив лежал на том месте, а иногда создавал, в общем я решил кардинально — заменил wput на curl, тем более curl я использовал в другом новом проекте и опыт работы с ним уже был.

Скачать облегченный curl — ссылка

curl.exe  -T %data_dir%\%file_name% -u %ftp_user%:%ftp_pass% %ftp_server%
 
%data_dir% - каталог с данными для отправки
%file_name% - имя отправляемого файла на фтп
%ftp_user% - имя пользователя фтп
%ftp_pass% - пароль на фтп
%ftp_server% - адрес фтп сервера

Вот такой простой синтаксис для загрузки и все стало работать как часы.

P.S. Если нужно указать конкретно в какую папку на фтп загружать, то в случае использования curl это можно сделать так — просто после адреса FTP-сервера указать нужную директорию. Например, ftp://nemcd.com/site/1/
или полный пример

curl -T c:\pdf\info_2010_RU.pdf -u my_login:my_password ftp://nemcd.com/site/1/

1 звезда2 звезды3 звезды4 звезды5 звезд (2 оценок, в среднем: 5,00 из 5)

Поделиться с друзьями:

Ещё похожие заметки:


19 комментариев

3lobit
Июл 11, 2011 at 17:19

респект и уважуха, единственная статья в рунете просвятившая меня по поводу —basename=


 
Antonio
Июл 11, 2011 at 22:22

Спасибо, старался! =)


 
Dmitry
Ноя 25, 2011 at 8:29

«координально»? ……


 
Antonio
Ноя 25, 2011 at 11:43

а как же по-другому?


 
Dmitry
Ноя 25, 2011 at 16:21

По-другому — это по-русски. А тут неизвестно по какому. Есть слово координата, есть слово кардинальный. А гибрида — не существует, не существовало, и, надеюсь, никогда не будет существовать.
Это такая же банальная «безграмотщина», как и «ньюансы», «к стати», «вообщем», «на верху» (и любые комбинации «за ранее», «по надежнее», «по быстрее» и т.д.), «зделал», на вопрос «что (с)делаеТ?» писать «делаетЬся» — «пишетЬся», «нравитЬся», «работаетЬся», а на вопрос «что (с)делать?» наоборот забывать «Ь» — «оформляТСя», «расписаТСя», «закопаТСя», «обдолбаТСя»..
Такие писания на каждом шагу сейчас чуть ли не в каждой статье и каждом сообщении. Дожили..

Чуть прояснил?


 
Dmitry
Ноя 25, 2011 at 16:23

Кстати, очень хороший, маленький, и, главное, легко прикручиваемый в батники консольный фтп-клиент — ncftp. Советую :)


 
Antonio
Ноя 25, 2011 at 17:14

Не пояснил


 
Antonio
Ноя 25, 2011 at 17:18

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

К этому слову привык с детства, не помню откуда я его услышал, но оно родное и я его буду использовать.


 
Antonio
Ноя 25, 2011 at 17:19

ncftp я обошел стороной, не помню уже почему


 
Dmitry
Ноя 25, 2011 at 17:42

«К этому слову привык с детства .. оно родное и я его буду использовать»
Ну, Ваше дело. Однако этим вы проявляете неуважение к тем людям, к кому Вы обращаетесь, в данном случае, этой своей статьей. Безграмотность не красит человека и никак не добавляет ЧСВ. Лишь только отвращение в глазах грамотных людей. Жаль, что Вы, Антон, этого не понимаете.
Кроме того, безграмотные, смотря на это Ваше слово, убеждаются в том, что их безграмотность — это на самом деле грамотность. И закрепляют в себе такое «знание» еще больше.
«Язык — это одежда мыслей» (с) Samuel Johnson
Имидж.. Вы считаете что имидж не важен, или язык никак не отражается на имидже. А зря. Врядли можно найти себе достойное место в жизни, являясь безграмотным.
Как, чуть ли не плачу от истерик, когда вижу сорцы программ/сайтов/1с и прочего от разных «праграмеров», кто на соискание просятся, кому работу дай разовую. Что ни комментарий к строчке — то ошибка, что ни диалог — то белиберда. Как можно такому человеку доверить какую-либо работу, если он безграмотен по-умолчанию либо от нежелания, либо от неумения работать над собой, либо от рассеянности? Только минимум, где-то там, за копейки.
Можете почистить комментарии, если посчитаете нужным.
Только на Вашем месте, я бы хорошо задумался.. очень хорошо.


 
Antonio
Ноя 25, 2011 at 22:34

Вы много пишете.
Краткость — сестра таланта.
:-D


 
Antonio
Ноя 25, 2011 at 22:36

Я наконец-то понял в чем дело,
у меня тогда было совершенно плохое настроение,
теперь я поговорил с любимым человеком поужинал и меня осенило.

Всего лишь нужно было написать через А.
Кардинально! Ура.


 
Antonio
Ноя 25, 2011 at 22:39

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

А то будет горе от ума.


 
Aлександр
Фев 3, 2012 at 3:30

Да, я тоже впервые вижу wput –basename, — нигде не приводят примеры и по ключам. И вообще — wget расписана с примерами по русски, а wput — нет, «по ди ка юзверю разберись….». Спасибо.


 
Алексей
Янв 30, 2013 at 15:31

а как в curl директорию на фтп показать куда файл положить?


 
Antonio
Янв 30, 2013 at 17:32

Просто после адреса сервера указываем каталог,
добавил в заметку.


 
Алексей
Янв 31, 2013 at 6:26

спасибо. вроде заработало.сейчас в скрипт напишу. а сначала я написал путь, но в конце не дописал / и не работало :)


 
Сергей
Май 6, 2014 at 0:16

Спасибо за нужную информацию.
По ходу чтения возник вопрос.
Как в curl можно сделать отправку всех файлов в папке?


 
Antonio
Май 6, 2014 at 16:28

Я использую поштучную загрузку, глянул по инету люди делают всякие циклы с перебором имен файлов или если в линуксе вставляют специальную конструкцию.

При бекапах с фтп я делаю по-другому — монтирую фтп в качестве диска и работают с ним стандартной утилитой robocopy, там с этим проблем нету.


 

Написать


Копирование информации с сайта возможно только с указанием прямой ссылки - https://nemcd.com