Skip to content

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

Pre-release
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 — предназначена для тестирования.