|
v7: Выложить файл на FTP с помощью curl.exe | ☑ | ||
---|---|---|---|---|
0
МастерВопросов
26.10.12
✎
17:17
|
Подскажите синтаксис, плс. Где то встречал, теперь не могу найти.
Что то типа CURL.EXE -t c:\2\categories.csv -u пароль:логин адрес ftp:\\ Предыстория: раньше выкладывал с помощью ftp.exe, но у клиента поменялся сервер и требуется какой то пассивный режим. Поиск по Мисте говорит что в таких случаях вместо ftp.exe, надо юзать CURL.EXE. Файл со скриптом для ftp.exe был такой: open XX.XXX.XX.XX 24021 логин пароль prompt ascii hash status cd oneC cd files put c:\2\flag.m put c:\2\entries.csv put c:\2\categories.csv get flag.m flag.m2 del flag.m quit |
|||
1
Builder
26.10.12
✎
17:19
|
Есть еще wput.exe, я им пользуюсь.
|
|||
2
varelchik
26.10.12
✎
17:20
|
возьми dialmail.dll
там очень мощный фтп клиент. |
|||
3
varelchik
26.10.12
✎
17:21
|
а курл фигня полнейшая.
я тож колысь пытался заставить его работать, так толком он и не заработал посему забил и перешол на dialmail. |
|||
4
UnAmerican
26.10.12
✎
17:22
|
Погуглить не пробовали?
http://theapplegeek.ru/blog/2010/11/04/vygruzka-fajla-na-ftp-server-s-pomoshhyu-curl/ |
|||
5
UnAmerican
26.10.12
✎
17:24
|
dialmail.dll - не умеет фтпс
|
|||
6
varelchik
26.10.12
✎
17:25
|
(5) ЧАВО?
Ты хоть понял что написал? |
|||
7
varelchik
26.10.12
✎
17:26
|
ВОТ:
Функция ВыгрузитьВФТП() ФТП=СоздатьОбъект("AddIn.FTP"); Если ФТП.Подключиться(СокрЛП(База.АдресСервера),21,СокрЛП(База.Логин),СокрЛП(База.Пароль),База.ПассивныйРежим)=1 тогда Если ФТП.СменитьКаталог(СокрЛП(База.КаталогВыгрузки))=0 Тогда ФТП.СоздатьКаталог(СокрЛП(База.КаталогВыгрузки)); Если ФТП.СменитьКаталог(СокрЛП(База.КаталогВыгрузки))=0 Тогда глЗаписьЖурналаРегистрации("Ошибка каталога выгрузки!",1,,,,5); глЗаписьЖурналаРегистрации(ФТП.ПоследняяОшибка,1,,,,5); глЗаписьЖурналаРегистрации(ФТП.ПоследнийОтветСервера,1,,,,5); Возврат 0; КонецЕсли; КонецЕсли; Иначе глЗаписьЖурналаРегистрации("Ошибка подключения к FTP серверу!",1,,,,5); глЗаписьЖурналаРегистрации(ФТП.ПоследняяОшибка,1,,,,5); глЗаписьЖурналаРегистрации(ФТП.ПоследнийОтветСервера,1,,,,5); Возврат 0; КонецЕсли; ФС.УстТекКаталог(СокрЛП(База.ПутьКБазеПриВыгрузке)); Если База.ВстроеннаяАрхивация=1 Тогда Маска="*.zip"; Иначе Маска="*.mod"; КонецЕсли; СписокФайлов=СоздатьОбъект("СписокЗначений"); ИмяФайла=ФС.НайтиПервыйФайл(Маска); Пока ПустоеЗначение(ИмяФайла)=0 Цикл СписокФайлов.ДобавитьЗначение(ИмяФайла); ИмяФайла=ФС.НайтиСледующийФайл(); КонецЦикла; Для н=1 По СписокФайлов.РазмерСписка() Цикл ИмяФайла=СписокФайлов.ПолучитьЗначение(н); ИмяФайлаЛокально=СокрЛП(База.ПутьКБазеПриВыгрузке)+?(Прав(СокрЛП(База.ПутьКБазеПриВыгрузке),1)="\","","\")+ИмяФайла; Если ФТП.ОтправитьФайл(ИмяФайлаЛокально,ИмяФайла)=0 Тогда глЗаписьЖурналаРегистрации("Ошибка отправки файла! "+ИмяФайлаЛокально,1,,,,5); глЗаписьЖурналаРегистрации(ФТП.ПоследняяОшибка,1,,,,5); глЗаписьЖурналаРегистрации(ФТП.ПоследнийОтветСервера,1,,,,5); Возврат 0; КонецЕсли; КонецЦикла; КонецФункции Функция ЗагрузитьИзФТП() ФТП=СоздатьОбъект("AddIn.FTP"); Если ФТП.Подключиться(СокрЛП(База.АдресСервера),21,СокрЛП(База.Логин),СокрЛП(База.Пароль),База.ПассивныйРежим)=1 тогда Если ФТП.СменитьКаталог(СокрЛП(База.КаталогЗагрузки))=0 Тогда ФТП.СоздатьКаталог(СокрЛП(База.КаталогЗагрузки)); Если ФТП.СменитьКаталог(СокрЛП(База.КаталогЗагрузки))=0 Тогда глЗаписьЖурналаРегистрации("Ошибка каталога загрузки!",1,,,,5); глЗаписьЖурналаРегистрации(ФТП.ПоследняяОшибка,1,,,,5); глЗаписьЖурналаРегистрации(ФТП.ПоследнийОтветСервера,1,,,,5); Возврат 0; КонецЕсли; КонецЕсли; Иначе глЗаписьЖурналаРегистрации("Ошибка подключения к FTP серверу!",1,,,,5); глЗаписьЖурналаРегистрации(ФТП.ПоследняяОшибка,1,,,,5); глЗаписьЖурналаРегистрации(ФТП.ПоследнийОтветСервера,1,,,,5); Возврат 0; КонецЕсли; ФС.УстТекКаталог(СокрЛП(База.ПутьКБазеПриЗагрузке)); ФТП.Лист(); КолФайлов=ФТП.КоличествоФайлов(); рез=1; Для н=1 По КолФайлов Цикл ИмяНаФТП=ФТП.ПолучитьИмяФайла(н); Если ФТП.ПолучитьФайл(ИмяНаФТП,СокрЛП(База.ПутьКБазеПриЗагрузке)+"\"+ИмяНаФТП)=0 Тогда глЗаписьЖурналаРегистрации("Ошибка получения файла с FTP! "+ИмяНаФТП,1,,,,5); глЗаписьЖурналаРегистрации(ФТП.ПоследняяОшибка,1,,,,5); глЗаписьЖурналаРегистрации(ФТП.ПоследнийОтветСервера,1,,,,5); рез=0; Иначе ФТП.УдалитьФайл(ИмяНаФТП); КонецЕсли; КонецЦикла; ФТП.Отключиться(); Возврат рез; КонецФункции |
|||
8
Гинзбург
26.10.12
✎
17:27
|
пользуйтесь проводником, он все умеет
|
|||
9
varelchik
26.10.12
✎
17:27
|
уже лет 10 встроил в МОДа вместо его родного обмена через ФТП.
|
|||
10
МастерВопросов
26.10.12
✎
17:29
|
(4) спасибо. Буду экспериментировать.
|
|||
11
UnAmerican
26.10.12
✎
17:30
|
(7) А где тут FTPS через SSL? В твоем примере.
CURL - tftp ftp telnet dict ldap http file https ftps |
|||
12
varelchik
26.10.12
✎
17:39
|
(11) так человек кажить что ему нужен пасисвный режим.
причем тута ftps? |
|||
13
BigHarry
26.10.12
✎
17:41
|
(3) curl - нормальная приблуда, а то что кто-то там не осилил почитать документацию - curl не виноват.
|
|||
14
varelchik
26.10.12
✎
17:42
|
помница у него толи с доставкой толи с получением проблемы.
точно не припомню, потому и отказался. |
|||
15
BigHarry
26.10.12
✎
17:43
|
(14) Нет никаких проблем ни с доставкой, ни с получением, ни с пассивными режимами.
|
|||
16
varelchik
26.10.12
✎
17:50
|
(15) каждому свое.
|
|||
17
UnAmerican
26.10.12
✎
17:52
|
(12) Тебе на твой пост (3). Ни красиво обсерать продукт массового использования. И так однозначно.
|
|||
18
Злопчинский
26.10.12
✎
18:26
|
есть еще такая ncftp - [jhjibt djpvj;yjcnb
http://www.ncftp.com/ncftp/doc/ncftp.html / passive This controls ncftp's behavior for data connections, and can be set to one of on, off, or the default, optional. When passive mode is on, ncftp uses the FTP command primitive PASV to have the client establish data connections to the server. The default FTP protocol behavior is to use the FTP command primitive PORT which has the server establish data connections to the client. The default setting for this variable, optional, allows ncftp to choose whichever method it deems necessary. / http://citforum.ru/operating_systems/manpages/NCFTP.1.shtml |
|||
19
МастерВопросов
27.10.12
✎
07:43
|
curl: <25> Failed ftp upload: 553
|
|||
20
МастерВопросов
27.10.12
✎
08:02
|
http://www.osp.ru/win2000/2006/01/380297/
"После установки Curl следует убедиться в его работоспособности, введя команду curl http://isc.sans.org/infocon.txt Если на экране появится слово, обозначающее цвет (например, green), значит, Curl работает." у меня, однака, работает |
|||
21
МастерВопросов
27.10.12
✎
08:16
|
(19) ну вот чай попил и сразу разобрался в чем дело!
В ftp адресе в конце надо было слеш "/" добавить |
|||
22
Гинзбург
27.10.12
✎
14:19
|
в виндузе уже все реализовано
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |