libcurl for Clarion

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
pansoft
Бывалый
Сообщения: 76
Зарегистрирован: 08 Август 2011, 11:37

libcurl for Clarion

Сообщение pansoft »

Дед Пахом писал(а): Дали бы мне ссылочку на url, которая файлы принимает...
На фтр закачал чужую библиотеку в папку curl. Может чем поможет. При запуске не находит какой-то фаил...
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3131
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 10 раз
Поблагодарили: 28 раз
Контактная информация:

libcurl for Clarion

Сообщение Дед Пахом »

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). Пока он не умеет копировать папки...
С уважением, ДП
pansoft
Бывалый
Сообщения: 76
Зарегистрирован: 08 Август 2011, 11:37

libcurl for Clarion

Сообщение pansoft »

Дед Пахом, best!
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7330
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

libcurl for Clarion

Сообщение Игорь Столяров »

Дед Пахом писал(а): А также простенький FTP менеджер (app для C10).
Подскажите пожалуйста, а как удалить файл по имени через cURL в sFTP разделе ?
Вчера весь вечер пытался разобраться сам. Честно.
Но видимо пока это выше моего понимания ... :( Спасибо.
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
Admin
Администратор
Сообщения: 3959
Зарегистрирован: 05 Июль 2005, 15:59
Откуда: Хабаровск
Благодарил (а): 25 раз
Поблагодарили: 22 раза
Контактная информация:

libcurl for Clarion

Сообщение Admin »

Ну грубо говоря вот так:

Код: Выделить всё

curl_setopt($ch, CURLOPT_QUOTE, array("DELE /path/to/file.ext")); 
Но как это реализуется классом х.з.
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
Аватара пользователя
Admin
Администратор
Сообщения: 3959
Зарегистрирован: 05 Июль 2005, 15:59
Откуда: Хабаровск
Благодарил (а): 25 раз
Поблагодарили: 22 раза
Контактная информация:

libcurl for Clarion

Сообщение Admin »

Дед Пахом писал(а): v1.02 доступна.
Подозреваю что тут

Код: Выделить всё

curl_slist_append(SELF.plist, szData)
нужно написать

Код: Выделить всё

SELF.plist = curl_slist_append(SELF.plist, szData)
Иначе, SELF.plist всегда = 0
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
Аватара пользователя
morkovin
Ветеран
Сообщения: 908
Зарегистрирован: 20 Июль 2005, 14:53
Откуда: Volgograd, Russia
Благодарил (а): 2 раза
Поблагодарили: 3 раза
Контактная информация:

libcurl for Clarion

Сообщение morkovin »

На фтр закачал чужую библиотеку в папку curl. Может чем поможет. При запуске не находит какой-то фаил...
Не хватает libcurl.lib, который производится LibMaker-ом от нужной версии libcurl.dll.

p.s. Продукт от ДедаПахома сейчас безусловный тренд месяца(имхо)
WBR, morkovin
Аватара пользователя
Admin
Администратор
Сообщения: 3959
Зарегистрирован: 05 Июль 2005, 15:59
Откуда: Хабаровск
Благодарил (а): 25 раз
Поблагодарили: 22 раза
Контактная информация:

libcurl for Clarion

Сообщение Admin »

morkovin писал(а): Не хватает libcurl.lib
в папку \libcurl-master\lib\ смотреть пробовали? :)
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3131
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 10 раз
Поблагодарили: 28 раз
Контактная информация:

libcurl for Clarion

Сообщение Дед Пахом »

Admin писал(а):Подозреваю что тут

Код: Выделить всё

curl_slist_append(SELF.plist, szData)
нужно написать

Код: Выделить всё

SELF.plist = curl_slist_append(SELF.plist, szData)
Иначе, SELF.plist всегда = 0
Спасибо, исправлю!
С уважением, ДП
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3131
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 10 раз
Поблагодарили: 28 раз
Контактная информация:

libcurl for Clarion

Сообщение Дед Пахом »

Игорь Столяров писал(а): Подскажите пожалуйста, а как удалить файл по имени через cURL в sFTP разделе ?
Сам ещё не знаю ;-)
С уважением, ДП
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3131
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 10 раз
Поблагодарили: 28 раз
Контактная информация:

libcurl for Clarion

Сообщение Дед Пахом »

Дед Пахом писал(а): Подскажите пожалуйста, а как удалить файл по имени через 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
С уважением, ДП
Аватара пользователя
Admin
Администратор
Сообщения: 3959
Зарегистрирован: 05 Июль 2005, 15:59
Откуда: Хабаровск
Благодарил (а): 25 раз
Поблагодарили: 22 раза
Контактная информация:

libcurl for Clarion

Сообщение Admin »

Исправление что я писал сделать нужно или не будет работать SELF.SetQuote(ftpcmd), по идее.
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3131
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 10 раз
Поблагодарили: 28 раз
Контактная информация:

libcurl for Clarion

Сообщение Дед Пахом »

Admin писал(а): Исправление что я писал сделать нужно или не будет работать SELF.SetQuote(ftpcmd), по идее.
Да, исправление нужно, хотя и в таком виде _одна_ запись в slist попадает, последняя.
С уважением, ДП
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7330
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

libcurl for Clarion

Сообщение Игорь Столяров »

Пытаюсь работать с библиотекой ... у меня есть большие подозрения, что работа ведется по протоколу FTP, а не SSH.
При кол-ве файлов в разделе с превышением лимита FTP, LoadRemoteDir() возвращает ошибку.
Проверил несколько раз - могу загнать в раздел файлы и дать данные раздела на сервере для проверки.
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3131
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 10 раз
Поблагодарили: 28 раз
Контактная информация:

libcurl for Clarion

Сообщение Дед Пахом »

Игорь Столяров писал(а): Проверил несколько раз - могу загнать в раздел файлы и дать данные раздела на сервере для проверки.
Давай конечно.
С уважением, ДП
Закрыто