Ответ http сервиса в gzip формате

1. Gendelf 08.06.22 09:34 Сейчас в теме
Добрый день, есть тело ответа (строка json 1ггб) , как его сжать в gzip формат?
Нашёл пример заголовка, но этого не достаточно, если у кого есть, напишите пожалуйста пример кода или порядок действий.


Ответ.Заголовки.Вставить("Content-Encoding", "gzip");
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Pavel Rodinchenko 08.06.22 10:35 Сейчас в теме
3. Gendelf 08.06.22 10:39 Сейчас в теме
(2) прочитал всю ветку, там нет примеров
5. Gendelf 08.06.22 11:05 Сейчас в теме
(4) читал, даже вопрос задал. Пока тишина.
7. starik-2005 3076 08.06.22 13:54 Сейчас в теме
(1)
Добрый день, есть тело ответа (строка json 1ггб) , как его сжать в gzip формат?
1. С помощью волшебного посоха. Он у Вас должен быть.
2. С помощью gzip.
3. С помощью 7zip.
4. ...
8. Gendelf 08.06.22 15:17 Сейчас в теме
(7) Т.е.

1. json сохраняю в txt
2. архивирую в zip программно
3. добавляю файл в ответ как двоичные данные
4 а дальше?
9. starik-2005 3076 08.06.22 15:34 Сейчас в теме
(8) Вы хотите ответить заархивированным гигом в JSON?
10. Gendelf 08.06.22 16:41 Сейчас в теме
(9)
Вы хотите ответить заархивированным гигом в JSON?


Да
11. Gendelf 08.06.22 16:56 Сейчас в теме
(9) Это же возможно? Хочу понять последовательность действий
6. booksfill 08.06.22 12:46 Сейчас в теме
Насколько я помню, запись в заголовок ничего не сжимает, а сообщает принимающей стороне, что мы записали в тело что-то сжатое самостоятельно по этому алгоритму.

Причем предварительно стоит убедиться, что принимающая сторона согласна с таким работать. Т.е. выдает вам Accept-Encoding: gzip, deflate ...

если не принципиален gzip, то лучше использовать стандартное сжатие 1С и писать в заголовок deflate
12. Gendelf 15.06.22 10:06 Сейчас в теме
(6) А как стандартное сжатие работает? Возможно есть пример?
13. Gendelf 15.06.22 10:21 Сейчас в теме
(6) оно?

ХЗ = Новый ХранилищеЗначения(НашеЗначениеКотороеНадоСжать, СжатиеДанных(9));
СтрокаBase64 = СериализаторXDTO.XMLСтрока(ХЗ);
СжатыеДвоичныеДанные = Base64Значение(СтрокаBase64);
15. starik-2005 3076 15.06.22 10:23 Сейчас в теме
(13) ну, видимо, можно и так, а можно и без строки64, ибо тело можно как из двоичных данных установить, так и из строки. Но вряд ли это будет gzip.
https://infostart.ru/1c/articles/533248/ - я это тут писал. Но там web-сервисы, а не REST.
14. booksfill 15.06.22 10:23 Сейчас в теме
Оно. Последний параметр степень сжатия. Насколько я помню результат ничем не хуже gzip.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот