Страница 3 из 30
libcurl for Clarion
Добавлено: 15 Ноябрь 2015, 19:34
pansoft
Дед Пахом писал(а): Дали бы мне ссылочку на url, которая файлы принимает...
На фтр закачал чужую библиотеку в папку curl. Может чем поможет. При запуске не находит какой-то фаил...
libcurl for Clarion
Добавлено: 15 Ноябрь 2015, 20:24
Дед Пахом
v1.02 доступна.
Чтобы отправить файл на http, пишем
Код: Выделить всё
curl.Init()
res = curl.PostFile(url, 'xml_file', 'client.xml', respfile)
IF res = CURLE_OK
MESSAGE('Success, see file '& CLIP(respfile) &' for details', 'Post test', ICON:Asterisk)
ELSIF res = -1
MESSAGE('curl_formadd failed: errcode '& res, 'Post test', ICON:Asterisk)
ELSE
MESSAGE('PostFile failed: '& curl.StrError(res), 'libcurl', ICON:Exclamation)
END
Есть пример в папке examples\PostFile.
А также простенький FTP менеджер (app для C10). Пока он не умеет копировать папки...
libcurl for Clarion
Добавлено: 15 Ноябрь 2015, 22:56
pansoft
Дед Пахом, best!
libcurl for Clarion
Добавлено: 17 Ноябрь 2015, 8:20
Игорь Столяров
Дед Пахом писал(а): А также простенький FTP менеджер (app для C10).
Подскажите пожалуйста, а как удалить файл по имени через cURL в sFTP разделе ?
Вчера весь вечер пытался разобраться сам. Честно.
Но видимо пока это выше моего понимания ...
Спасибо.
libcurl for Clarion
Добавлено: 17 Ноябрь 2015, 9:19
Admin
Ну грубо говоря вот так:
Код: Выделить всё
curl_setopt($ch, CURLOPT_QUOTE, array("DELE /path/to/file.ext"));
Но как это реализуется классом х.з.
libcurl for Clarion
Добавлено: 17 Ноябрь 2015, 9:38
Admin
Дед Пахом писал(а): v1.02 доступна.
Подозреваю что тут
нужно написать
Код: Выделить всё
SELF.plist = curl_slist_append(SELF.plist, szData)
Иначе, SELF.plist всегда = 0
libcurl for Clarion
Добавлено: 17 Ноябрь 2015, 10:06
morkovin
На фтр закачал чужую библиотеку в папку curl. Может чем поможет. При запуске не находит какой-то фаил...
Не хватает libcurl.lib, который производится LibMaker-ом от нужной версии libcurl.dll.
p.s. Продукт от ДедаПахома сейчас безусловный тренд месяца(имхо)
libcurl for Clarion
Добавлено: 17 Ноябрь 2015, 10:13
Admin
morkovin писал(а): Не хватает libcurl.lib
в папку \libcurl-master\lib\ смотреть пробовали?
libcurl for Clarion
Добавлено: 17 Ноябрь 2015, 11:45
Дед Пахом
Admin писал(а):Подозреваю что тут
нужно написать
Код: Выделить всё
SELF.plist = curl_slist_append(SELF.plist, szData)
Иначе, SELF.plist всегда = 0
Спасибо, исправлю!
libcurl for Clarion
Добавлено: 17 Ноябрь 2015, 11:51
Дед Пахом
Игорь Столяров писал(а): Подскажите пожалуйста, а как удалить файл по имени через cURL в sFTP разделе ?
Сам ещё не знаю
libcurl for Clarion
Добавлено: 17 Ноябрь 2015, 13:32
Дед Пахом
Дед Пахом писал(а): Подскажите пожалуйста, а как удалить файл по имени через cURL в sFTP разделе ?Сам ещё не знаю
Вот так:
Код: Выделить всё
!pUrl is ftp://user@95.96.97.98, pFilename is /home/files/testfile.txt
TCurlFtpClass.DeleteFile PROCEDURE(STRING pUrl, STRING pFilename)
ftpcmd TCurlSList
res CURLcode, AUTO
CODE
ftpcmd.Append('DELE '& pFilename)
res = SELF.SetQuote(ftpcmd)
IF res <> CURLE_OK
RETURN res
END
res = SELF.SetOpt(CURLOPT_URL, pUrl)
IF res <> CURLE_OK
RETURN res
END
RETURN SELF.Perform()
В новой версии будет класс TCurlFtpClass, специально для FTP
libcurl for Clarion
Добавлено: 17 Ноябрь 2015, 14:43
Admin
Исправление что я писал сделать нужно или не будет работать SELF.SetQuote(ftpcmd), по идее.
libcurl for Clarion
Добавлено: 17 Ноябрь 2015, 14:55
Дед Пахом
Admin писал(а): Исправление что я писал сделать нужно или не будет работать SELF.SetQuote(ftpcmd), по идее.
Да, исправление нужно, хотя и в таком виде _одна_ запись в slist попадает, последняя.
libcurl for Clarion
Добавлено: 17 Ноябрь 2015, 15:04
Игорь Столяров
Пытаюсь работать с библиотекой ... у меня есть большие подозрения, что работа ведется по протоколу FTP, а не SSH.
При кол-ве файлов в разделе с превышением лимита FTP, LoadRemoteDir() возвращает ошибку.
Проверил несколько раз - могу загнать в раздел файлы и дать данные раздела на сервере для проверки.
libcurl for Clarion
Добавлено: 17 Ноябрь 2015, 15:18
Дед Пахом
Игорь Столяров писал(а): Проверил несколько раз - могу загнать в раздел файлы и дать данные раздела на сервере для проверки.
Давай конечно.