libcurl for Clarion

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

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1376
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 7 раз
Поблагодарили: 1 раз
Контактная информация:

libcurl for Clarion

Сообщение RaFaeL »

SergioRaguzini писал(а): 16 Апрель 2021, 20:04 Пока не пойму с чего начать, прошу совета уважаемого CLA-сообщества
Подключил уже не один десяток таких сайтов, для работы достаточно libcurl и штатного JSONDataClass. А что за сайт подключаете? А то вдруг у меня уже подключен )
Аватара пользователя
SergioRaguzini
Старожил
Сообщения: 233
Зарегистрирован: 08 Декабрь 2009, 19:16
Откуда: Краснодарский край
Благодарил (а): 6 раз

libcurl for Clarion

Сообщение SergioRaguzini »

RaFaeL писал(а): 16 Апрель 2021, 21:22 Подключил уже не один десяток таких сайтов, для работы достаточно libcurl и штатного JSONClass. А что за сайт подключаете? А то вдруг у меня уже подключен )
Спасибо за отклик - это сайт Центра Туризма
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1376
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 7 раз
Поблагодарили: 1 раз
Контактная информация:

libcurl for Clarion

Сообщение RaFaeL »

SergioRaguzini писал(а): 16 Апрель 2021, 21:37 Спасибо за отклик - это сайт Центра Туризма
Такой не подключал пока)
В личку отправил набор классов и функций для работы с сайтами
gopstop2007
✯ Ветеран ✯
Сообщения: 1702
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 9 раз
Поблагодарили: 4 раза

libcurl for Clarion

Сообщение gopstop2007 »

RaFaeL писал(а): 16 Апрель 2021, 21:38
SergioRaguzini писал(а): 16 Апрель 2021, 21:37 Спасибо за отклик - это сайт Центра Туризма
Такой не подключал пока)
В личку отправил набор классов и функций для работы с сайтами
тоже интересно, а какие платформы используете (opencart, wordpress...) ?
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1376
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 7 раз
Поблагодарили: 1 раз
Контактная информация:

libcurl for Clarion

Сообщение RaFaeL »

gopstop2007 писал(а): 17 Апрель 2021, 20:24 тоже интересно, а какие платформы используете (opencart, wordpress...) ?
Не мы, клиенты подгоняют. Много айпи-телефоний, из интернет-магазинов подключен Shop-Script, также работа с облачными 1С через OData
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7324
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

libcurl for Clarion

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

Привет всем !

У меня, c недавних пор, через пять раз на шестой (но стабильно !) стало вышибать программы
при завершении загрузки с FTP сервера вот в этом месте:

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

!** libcurl for Clarion v1.48
!** 08.06.2020
...
curl::GlobalCleanup           PROCEDURE()
  CODE
  curl_global_cleanup()
Просто вылет из программы, без каких-либо сообщений. Молча.
Ранее такого не припоминаю. Возможно это началось после какого-то обновления Win10.
Проверял на штатных примерах - тоже самое. Никто подобного не замечал ? :( Спасибо !
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3131
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 10 раз
Поблагодарили: 28 раз
Контактная информация:

libcurl for Clarion

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

Если точно падает на curl_global_cleanup, то тут написано кое-что полезное:
https://curl.se/libcurl/c/curl_global_cleanup.html
С уважением, ДП
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7324
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

libcurl for Clarion

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

Точно. Пол-дня потратил, что поймать и проверить. И потом ещё раз проверить. ;)
В принципе, я проблему-то решил вот так:

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

     ! --- The End ---
     ThisCurl.Cleanup()
!     Curl::GlobalCleanup() ВИДИМО ЧТО-ТО СЛУЧИЛОСЬ
;) и всё заработало. Спасибо - пошёл читать !
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7324
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

libcurl for Clarion

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

Видимо вот это место - мой случай: :(
We recommend you do not run libcurl from any module that may be unloaded dynamically. This behavior may be addressed in the future.
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3131
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 10 раз
Поблагодарили: 28 раз
Контактная информация:

libcurl for Clarion

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

Вроде бы всё работает и без этой пары curl_global_init / curl_global_cleanup.
С уважением, ДП
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7324
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

libcurl for Clarion

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

Да, конечно - я тоже грохнул пару Init / Cleanup. :)
За теми кто отстал - не возвращаться. (С) Кодекс
harry
Бывалый
Сообщения: 69
Зарегистрирован: 24 Февраль 2015, 14:16
Поблагодарили: 3 раза

libcurl for Clarion

Сообщение harry »

Доброго времени суток!

Появилась задача отправить soap запрос с аутинтефикацией по сертификату.
Имеется сертификат в формате P12 и пароль к нему.

...
res = curl.SetSSLCERT(ssl.Certificate) !Задаю сертификат (например, file.P12)
res = curl.SetSSLKEYPASSWD(ssl.KeyPasswd) !Задаю пароль (например, 123)
! Выполняю запрос.
res = curl.SendRequestStr(xferinfo.Url, xferinfo.PostParams, respBuffer) В xferinfo.PostParams XML-структура soap запроса

Запрос выполняется , но сервер возвращает ошибку.

HTTP/1.1 500 Internal Server Error
Content-Type: text/xml
X-Backside-Transport: FAIL FAIL
Connection: close

<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelop ... g>Rejected by policy. (from client)</faultstring></env:Fault></env:Body></env:Envelope>


Аналогичный запрос успешно проходит в Postam при задании сертификата в настройках.


Помогите , пожалуйста, разобраться в чем может быть проблема. Может, кто сталкивался?
harry
Бывалый
Сообщения: 69
Зарегистрирован: 24 Февраль 2015, 14:16
Поблагодарили: 3 раза

libcurl for Clarion

Сообщение harry »

Вот такой запрос в Curl проходит

curl -k --cert-type P12 --cert Certfile.p12:123Psw --location --request POST "https://test-api.mosmedzdrav.ru/LLO/v1/ ... ipeService" --header "Content-Type: text/xml; charset=utf-8" --data-raw "Здесь XML"

Что может не хватать в Libcurl ?
Вроде, все задал
curl.AddHttpHeader(headers.HttpHeader)
res = curl.SetSSLVerifyPeer(False)
res = curl.SetSSLCERTTYPE('P12')
res = curl.SetSSLCERT(ssl.Certificate)
res = curl.SetSSLKEYPASSWD(ssl.KeyPasswd)
res = curl.SendRequestStr(xferinfo.Url, xferinfo.PostParams, respBuffer)
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3131
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 10 раз
Поблагодарили: 28 раз
Контактная информация:

libcurl for Clarion

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

После всех AddHttpHeader() надо вызвать curl.SetHttpHeaders(), иначе заголовки не передадутся. В остальном вроде бы всё нормально.
С уважением, ДП
harry
Бывалый
Сообщения: 69
Зарегистрирован: 24 Февраль 2015, 14:16
Поблагодарили: 3 раза

libcurl for Clarion

Сообщение harry »

Да curl.SetHttpHeaders() выполняется, заголовок передается.

Значит, что то в Libcurl.dll ? Не работает с P12? Или если в curl прошло , то должен быть способ через Libcurl это же сделать?
Закрыто