Распаковка GZip из веб запроса - C#

Узнай цену своей работы

Формулировка задачи:

Доброго времени суток. пишу свой прокси сервер. Говорю сразу,для своих нужд. Данный сервер должен вставлять в страницу ответа браузеру, скрипт. Работает на единичных сайтах. Поскольку если идёт ответ в GZip, при переводе ответа байт в строку находиться только хедеры, соответственно не могу изменить код страницы... Подскажите, пожалуйста, как поступить.

Решение задачи: «Распаковка GZip из веб запроса»

textual
Листинг программы
static byte[] Decompress(byte[] gzip)
        {
            
            using (GZipStream stream = new GZipStream(new MemoryStream(gzip), CompressionMode.Decompress))
            {
                const int size = 4;
                byte[] buffer = new byte[size];
                int index = 0;
                using (MemoryStream memory = new MemoryStream())
                {
                    int count = 0;
                    do
                    {
                        count = stream.Read(buffer, 0, size);
                        if (count > 0)
                        {
                            memory.Write(buffer, size*index, count);
                        }
                        index++;
                    }
                    while (count > 0);
                    stream.Close();
                    return memory.ToArray();
                }
            }
        }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 3.8 из 5
Похожие ответы