v17-rc1 (тестовая сборка)
Pre-release
Pre-release
Тестовая (предварительная) сборка версии 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 — предназначена для тестирования.