libcurl for Clarion

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

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Основной тред
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3236
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 13 раз
Поблагодарили: 45 раз
Контактная информация:

libcurl for Clarion

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

Вроде все основные функции закрыл:
- выгрузка файлов с сервера
- загрузка файлов на сервер
- HTTP GET/POST с возможностью прочитать ответ сервера
- Поддержка SSL

Тестировал на протоколах http, https, ftp, sftp, ftpes.

Краткий туториал в файле \doc\How-To.txt.

Изображение

Изображение Изображение
Последний раз редактировалось Дед Пахом 31 Октябрь 2020, 20:39, всего редактировалось 1 раз.
С уважением, ДП
Аватара пользователя
Admin
Администратор
Сообщения: 3996
Зарегистрирован: 05 Июль 2005, 15:59
Откуда: Хабаровск
Благодарил (а): 46 раз
Поблагодарили: 26 раз
Контактная информация:

libcurl for Clarion

Сообщение Admin »

Дед Пахом писал(а):Точу уже
Просто я все равно не очень доверяю этим виндовым серверкам. Хотелось бы на взрослом sshd проверить.
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3236
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 13 раз
Поблагодарили: 45 раз
Контактная информация:

libcurl for Clarion

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

v1.03 доступна. Добавил FTP Manager в собранном виде, для тех, у кого нет C10.

SSH: на моём игрушечном сервере выдаёт список каталогов, но не разрешает upload/rename/delete (говорит, прав недостаточно, и маски папок все drw-rw-rw). Вобщем, просьба потестить на реальных sFTP.
С уважением, ДП
Аватара пользователя
Admin
Администратор
Сообщения: 3996
Зарегистрирован: 05 Июль 2005, 15:59
Откуда: Хабаровск
Благодарил (а): 46 раз
Поблагодарили: 26 раз
Контактная информация:

libcurl for Clarion

Сообщение Admin »

Не совсем шарю в этих SHH... Что то ругается при методе Any: "SSH public key authentication failed: Unable to extract public key from private key file: Unable to open private key file"
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3236
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 13 раз
Поблагодарили: 45 раз
Контактная информация:

libcurl for Clarion

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

Выбери "Password"
С уважением, ДП
Аватара пользователя
Admin
Администратор
Сообщения: 3996
Зарегистрирован: 05 Июль 2005, 15:59
Откуда: Хабаровск
Благодарил (а): 46 раз
Поблагодарили: 26 раз
Контактная информация:

libcurl for Clarion

Сообщение Admin »

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

libcurl for Clarion

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

Все команды отрабатывают? Загрузка/удаление/переименование?
Ещё бы проверить режим PublicKey, вот как он по идее работает:

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

> curl_easy_setopt(curlUp, CURLOPT_SSH_AUTH_TYPES, CURLSSH_AUTH_PUBLICKEY); 
> curl_easy_setopt(curlUp, CURLOPT_SSH_PUBLIC_KEYFILE, "home/squirem/.ssh/id_rsa.pub"); 
> curl_easy_setopt(curlUp, CURLOPT_SSH_PRIVATE_KEYFILE, "home/squirem/.ssh/id_rsa"); 
> curl_easy_setopt(curlUp, CURLOPT_SSH_KNOWNHOSTS, "/home/squirem/.ssh/known_hosts"); 
> curl_easy_setopt(curlUp, CURLOPT_KEYPASSWD, "mypasswd"); 
С уважением, ДП
Аватара пользователя
Admin
Администратор
Сообщения: 3996
Зарегистрирован: 05 Июль 2005, 15:59
Откуда: Хабаровск
Благодарил (а): 46 раз
Поблагодарили: 26 раз
Контактная информация:

libcurl for Clarion

Сообщение Admin »

Некогда пока на работе проверять.
Файл пробовал скачать. Он скачался но внутри оказался список файлов в директории на сервере а не содержимое файла с сервера :)
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
Аватара пользователя
Admin
Администратор
Сообщения: 3996
Зарегистрирован: 05 Июль 2005, 15:59
Откуда: Хабаровск
Благодарил (а): 46 раз
Поблагодарили: 26 раз
Контактная информация:

libcurl for Clarion

Сообщение Admin »

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

libcurl for Clarion

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

Admin писал(а): Файл пробовал скачать. Он скачался но внутри оказался список файлов в директории на сервере а не содержимое файла с сервера
Виноват, выплеснул ребёнка ;-) Исправил, перезалил.
С уважением, ДП
Аватара пользователя
Admin
Администратор
Сообщения: 3996
Зарегистрирован: 05 Июль 2005, 15:59
Откуда: Хабаровск
Благодарил (а): 46 раз
Поблагодарили: 26 раз
Контактная информация:

libcurl for Clarion

Сообщение Admin »

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

libcurl for Clarion

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

Попутно обнаружил ошибку в svapifnc.inc: SendMessage должна возвращать LONG, а не BYTE - это важно, если использовать SendMessage для определения длины текста:

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

nTextLen = SendMessage(hwndTxt, WM_GETTEXTLENGTH, 0, 0)
С уважением, ДП
Аватара пользователя
Admin
Администратор
Сообщения: 3996
Зарегистрирован: 05 Июль 2005, 15:59
Откуда: Хабаровск
Благодарил (а): 46 раз
Поблагодарили: 26 раз
Контактная информация:

libcurl for Clarion

Сообщение Admin »

Закачка, скачивание, переименование и удаление работают.
Создание каталога работает. Удаление каталога не нашел.

P.S. По SendMessage, опиши свой прототип и его используй. Так будет лучше.
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3236
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 13 раз
Поблагодарили: 45 раз
Контактная информация:

libcurl for Clarion

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

Admin писал(а): Только не стоит при скачивании файла с сервера, весь его контент выдавать в текстбокс с логом команд.
Это, вроде, не от меня зависит (что приходит в колбэк, то и вывожу), но посмотрю, может есть команда отключения.
Admin писал(а): P.S. По SendMessage, опиши свой прототип и его используй. Так будет лучше.
Да так и сделал.
С уважением, ДП
Аватара пользователя
Admin
Администратор
Сообщения: 3996
Зарегистрирован: 05 Июль 2005, 15:59
Откуда: Хабаровск
Благодарил (а): 46 раз
Поблагодарили: 26 раз
Контактная информация:

libcurl for Clarion

Сообщение Admin »

Кстати, я не совсем понял.
Для каждой команды сейчас используется новая сессия (для простоты), но можно же сделать все в одной сессии или нет?

По выдаче текста, понятно. Но при получении бинарки с окном начинает хрень твориться. что то дергается и т.д.
Нужно как то отключать это или дать возможность при получении/передачи отрубать колбэк. Это уже мелочи.
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3236
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 13 раз
Поблагодарили: 45 раз
Контактная информация:

libcurl for Clarion

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

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