FTP клиент для 1С, поддердка прокси и пассивного режима #99938


#0 by Self
FTP клиент для 1С, поддердка прокси и пассивного режимапорекомендуйте, народ
#1 by Self
up
#2 by Мутабор
А через файловую систему нельзя?Вроде как можно примонтировать диск через ftp.
#3 by Self
хм а проще никак ?
#4 by BigHarry
Из внешних - пожалуй lftp, wget...
#5 by Self
а можно по подробнее, или где скачать
#6 by BigHarry
wget тут: тут: >Документацию на lftp - мона нарыть в гугле, на wget - есть в архиве
#7 by Series
Никита Зайцев (WildHare)Первое, что приходит на ум — взять в руки Яndex и поискать там “1C&FTP”. Таким образом мы находим компоненту AddFTP. Но увы, она нам не подходит — не умеет закачивать файлы, работает только с анонимными FTP-серверами, не умеет работать через прокси- сервер. Других внешних компонент для работы с FTP в открытом доступе нет.Далее, иногда бывает полезно поискать решение на жестком диске собственного компьютера, таким образом находим ftp.exe. Умеет все, кроме одного: не умеет работать через прокси-сервер.Что остается делать? Можно взять “Технологию создания внешних компонент” и написать компоненту для полноценной работы с FTP. Но это потребует времени и квалификации, а они есть далеко не у всех.Я решил проблему следующим образом. Зашел на сайт компании ActiveWare и скачал ActivePerl for Win32. Установил этот пакет (нужно брать дистрибутив в формате MSI) на ту машину, с которой требовался доступ к FTP (инсталляция проста, как мычание). Perl — очень простой и в то же время очень мощный язык, и написанные на нем программы отнюдь не всегда производят впечатление случайного набора символов (хотя и такое тоже бывает). Вот как выглядит самый простой скрипт для работы с FTP:# подключаем нужный модульuse NET::Ftp;# коннектимся через прокси-сервер$ftp = Net::FTP->new("194.85.33.254",Firewall => "192.168.0.1");# авторизуемся на FTP-сервере$ftp->login('MyCoolLogin','MyCoolPassword') || die $!;# заходим в нужную директорию$ftp->cwd('public_html');$ftp->cwd('files');# скачиваем файл с сервера$ftp->get('dms.als','c:dms.als.old');# закачиваем файл на сервер$ftp->put('c:dms.als','dms.als');# скачиваем оглавление каталога# отключаемся от сервера$ftp->quit;Разумеется, чтобы использовать приведенный код осмысленно, понадобится посвятить некоторое время чтению документации.. но дело того стоит. Perl, помимо легкости в освоении и использовании, славится просто фантастическим количеством готовых модулей почти что для всех случаев жизни. А поскольку Perl — язык объектный, подключение и использование этих модулей особого труда не представляет.Дальше уже — дело техники. Текст скрипта (со всеми адресами, логинами и именами файлов) можно сгенерировать прямо в модуле 1Сv7:ФС.УдалитьФайл(КаталогИБ+"connect.pl");Ассоциация файлов *.pl с интерпретатором perl.exe автоматически создается при инсталляции ActivePerl, но нелишним будет ее проверить — просто на всякий случай.У описанного решения есть один неприятный побочный эффект — запуск скрипта приводит к появлению окна DOS-сессии и “подвисанию” 1С:Предприятия на время выполнения скрипта. Но тут уж ничего не поделать.
#8 by Samosval
Хорошее решение. А что бы "подвисание" устранить используем в батнике комманду start.
#9 by SerIGS
ftp.exe - умеет работать через проксю.
#10 by VZ
Насчет "ничего не поделаешь" тоже, вроде не безнадежно... Во всяком случае, скрипты WHS в состоянии запустить задачу и в свернутом виде, и вообще скрытно.
#11 by Greenmkp
Пользуюсь вот этим :
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С