Skip to content

Releases: alyuev/Curl1C

v16

Choose a tag to compare

@alalale-work alalale-work released this 03 Jul 08:49

Внешняя компонента cURL для 1С:Предприятие 7.7.

Версия компоненты: 16 (метод Версия()).

Файл: curl1c-v16.dll — готовая к использованию сборка.

Зависимости (статически слинкованы): OpenSSL 3.2.1, curl 8.6.0, libssh2 1.11.0, zlib 1.3, brotli 1.1.0.

v17-rc1 (тестовая сборка)

Pre-release

Choose a tag to compare

@alalale-work alalale-work released this 03 Jul 10:05

Тестовая (предварительная) сборка версии 17.

Новое: gzip/deflate сжатие исходящего тела HTTP. Два способа применения в коде 1С.

Методы доступны под русскими именами СжатьТело / СжатьФайл и под
английскими алиасами CompressBody / CompressFile — работает и так, и так.

Способ 1 — автосжатие тела из переменной

// Карлик = СоздатьОбъект("AddIn.cURL1C");   // объект компоненты (создаётся как обычно)

Карлик.Источник.Данные = БольшойJSON;         // ваш JSON-текст
Карлик.СжатьТело("gzip");                      // "gzip" | "deflate" | "none"
Карлик.УстановитьПараметр("URL", "https://сайт/api");
Карлик.УстановитьПараметр("HTTPHEADER", "Content-Type: application/json");
КодОтвета = Карлик.Выполнить();                // тело уйдёт сжатым,
                                               // заголовок Content-Encoding: gzip добавится сам

Способ 2 — сжатие файла на диске (для больших файлов)

// сжать JSON-файл в gzip, затем отправить его бинарно-безопасно (Тип = Файл)
Карлик.СжатьФайл("c:\tmp\data.json", "c:\tmp\data.gz", "gzip");

Карлик.Источник.Тип    = 1;                    // 1 = Файл
Карлик.Источник.Данные = "c:\tmp\data.gz";
Карлик.УстановитьПараметр("HTTPHEADER", "Content-Encoding: gzip");
Карлик.УстановитьПараметр("URL", "https://сайт/api");
КодОтвета = Карлик.Выполнить();

Проверка версии

Сообщить(Карлик.Версия());   // должно быть 17

Важно: принимающий сервер должен уметь распаковывать сжатое тело запроса
(Content-Encoding), иначе получит нечитаемые данные — согласуйте с приёмной стороной.


Собрано портативным VC6, 32-бит (i386). Зависимости идентичны релизу v16.

ВНИМАНИЕ: сборка не проверялась в среде 1С 7.7 — предназначена для тестирования.