Распаковка 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();
}
}
}