Страница 27 из 30

libcurl for Clarion

Добавлено: 16 Апрель 2021, 21:22
RaFaeL
SergioRaguzini писал(а): 16 Апрель 2021, 20:04 Пока не пойму с чего начать, прошу совета уважаемого CLA-сообщества
Подключил уже не один десяток таких сайтов, для работы достаточно libcurl и штатного JSONDataClass. А что за сайт подключаете? А то вдруг у меня уже подключен )

libcurl for Clarion

Добавлено: 16 Апрель 2021, 21:37
SergioRaguzini
RaFaeL писал(а): 16 Апрель 2021, 21:22 Подключил уже не один десяток таких сайтов, для работы достаточно libcurl и штатного JSONClass. А что за сайт подключаете? А то вдруг у меня уже подключен )
Спасибо за отклик - это сайт Центра Туризма

libcurl for Clarion

Добавлено: 16 Апрель 2021, 21:38
RaFaeL
SergioRaguzini писал(а): 16 Апрель 2021, 21:37 Спасибо за отклик - это сайт Центра Туризма
Такой не подключал пока)
В личку отправил набор классов и функций для работы с сайтами

libcurl for Clarion

Добавлено: 17 Апрель 2021, 20:24
gopstop2007
RaFaeL писал(а): 16 Апрель 2021, 21:38
SergioRaguzini писал(а): 16 Апрель 2021, 21:37 Спасибо за отклик - это сайт Центра Туризма
Такой не подключал пока)
В личку отправил набор классов и функций для работы с сайтами
тоже интересно, а какие платформы используете (opencart, wordpress...) ?

libcurl for Clarion

Добавлено: 19 Апрель 2021, 14:21
RaFaeL
gopstop2007 писал(а): 17 Апрель 2021, 20:24 тоже интересно, а какие платформы используете (opencart, wordpress...) ?
Не мы, клиенты подгоняют. Много айпи-телефоний, из интернет-магазинов подключен Shop-Script, также работа с облачными 1С через OData

libcurl for Clarion

Добавлено: 21 Май 2021, 15:30
Игорь Столяров
Привет всем !

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

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

!** libcurl for Clarion v1.48
!** 08.06.2020
...
curl::GlobalCleanup           PROCEDURE()
  CODE
  curl_global_cleanup()
Просто вылет из программы, без каких-либо сообщений. Молча.
Ранее такого не припоминаю. Возможно это началось после какого-то обновления Win10.
Проверял на штатных примерах - тоже самое. Никто подобного не замечал ? :( Спасибо !

libcurl for Clarion

Добавлено: 21 Май 2021, 15:39
Дед Пахом
Если точно падает на curl_global_cleanup, то тут написано кое-что полезное:
https://curl.se/libcurl/c/curl_global_cleanup.html

libcurl for Clarion

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

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

     ! --- The End ---
     ThisCurl.Cleanup()
!     Curl::GlobalCleanup() ВИДИМО ЧТО-ТО СЛУЧИЛОСЬ
;) и всё заработало. Спасибо - пошёл читать !

libcurl for Clarion

Добавлено: 21 Май 2021, 15:53
Игорь Столяров
Видимо вот это место - мой случай: :(
We recommend you do not run libcurl from any module that may be unloaded dynamically. This behavior may be addressed in the future.

libcurl for Clarion

Добавлено: 21 Май 2021, 15:59
Дед Пахом
Вроде бы всё работает и без этой пары curl_global_init / curl_global_cleanup.

libcurl for Clarion

Добавлено: 21 Май 2021, 16:04
Игорь Столяров
Да, конечно - я тоже грохнул пару Init / Cleanup. :)

libcurl for Clarion

Добавлено: 26 Май 2021, 8:24
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 при задании сертификата в настройках.


Помогите , пожалуйста, разобраться в чем может быть проблема. Может, кто сталкивался?

libcurl for Clarion

Добавлено: 26 Май 2021, 11:02
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)

libcurl for Clarion

Добавлено: 26 Май 2021, 11:27
Дед Пахом
После всех AddHttpHeader() надо вызвать curl.SetHttpHeaders(), иначе заголовки не передадутся. В остальном вроде бы всё нормально.

libcurl for Clarion

Добавлено: 26 Май 2021, 11:47
harry
Да curl.SetHttpHeaders() выполняется, заголовок передается.

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