|
2 / 2 / 1
Регистрация: 16.05.2013
Сообщений: 69
|
||||||
Как распаковать ответ сервера в формате Gzip?13.05.2015, 14:01. Показов 3509. Ответов 11
Метки нет (Все метки)
Добрый день. У меня проблема при попытке разархивировать ответ от одного сайта, сжатый с помощью gzip.
Вот мой метод:
В цикле происходит поиск строки "\r\n\r\n" и отсечение верхней части, это заголовки ответа сервера. А то что ниже остается - это само тело страницы сжатое в gzip. И вот с этим проблема, метод myGzip.Read выдает исключение при попытке прочитать в буфер данные: System.IO.InvalidDataException: Неправильное магическое число в заголовке GZip. Передача должна идти в поток GZip. Собственно не могу найти что это за число и почему возникает тут эта ошибка, так как данные приходят в запакованном виде, это видно через fiddler.
0
|
||||||
| 13.05.2015, 14:01 | |
|
Ответы с готовыми решениями:
11
Не декодируется gzip ответ сервера
Boost.Asio. Как получить ответ от сервера в формате json или xml |
|
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,574
|
|
| 13.05.2015, 18:55 | |
|
А как вы получаете MemoryStream m1? Просто есь более простые способы, но они зависят от того какием способом вы получаете ответ от сервера.
https://msdn.microsoft.com/en-... .100).aspx https://msdn.microsoft.com/en-... .118).aspx
0
|
|
|
2 / 2 / 1
Регистрация: 16.05.2013
Сообщений: 69
|
||||||
| 13.05.2015, 20:02 [ТС] | ||||||
|
Вот такой вот пост запросик
0
|
||||||
|
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,574
|
|
| 13.05.2015, 20:26 | |
|
Ну так переделайте тогда на HttpWebRequest, кода станет в 10 раз меньше и все само распакуется.
0
|
|
|
2 / 2 / 1
Регистрация: 16.05.2013
Сообщений: 69
|
|
| 13.05.2015, 20:30 [ТС] | |
|
Интересует конкретно эта задача. HttpWebRequest мне не подходит, он медленный.
0
|
|
|
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,574
|
||
| 13.05.2015, 20:34 | ||
|
0
|
||
|
2 / 2 / 1
Регистрация: 16.05.2013
Сообщений: 69
|
|
| 13.05.2015, 20:41 [ТС] | |
|
Someone007, пожалуйста, давайте уважать друг друга. Вы любезно порекомендовали решение, я любезно отказался, не об огороде или скорости тема, мне нужно понять причины по которым конкретное исключение может появляться. Спасибо за понимание!
0
|
|
|
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,574
|
||
| 13.05.2015, 20:50 | ||
|
Добавлено через 4 минуты Или вообще не GZip, а Deflate...
0
|
||
|
2 / 2 / 1
Регистрация: 16.05.2013
Сообщений: 69
|
|
| 13.05.2015, 20:53 [ТС] | |
|
А что насчет магического числа? Кто в курсе что это за конкретная последовательность байт?
0
|
|
|
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,574
|
||
| 13.05.2015, 20:55 | ||
|
0
|
||
|
2 / 2 / 1
Регистрация: 16.05.2013
Сообщений: 69
|
|
| 13.05.2015, 21:48 [ТС] | |
|
Проблема решена! Если кому будет нужно то вот в чем была проблема: массив байт в формата gzip должен начинаться с магического числа 1f 8b, что в числовом представлении 31 и 139, после чего идет непосредственно содержимое. У меня проблема была в том что я принимал ответ сервер и искал байтовое представление \n\r\n\r - эти символы отделяют хедер от тела страницы и я посчитал что сразу после этой последовательности будет идти магическое число, но вышло так что там было пару "мусорных" символов и GZipStream не увидел здесь правильного Gzip контента. Вобщем нужно обрезать массив так чтоб он начинался с 1f 8b. Всем спасибо!
1
|
|
|
0 / 0 / 0
Регистрация: 11.05.2015
Сообщений: 11
|
|
| 24.10.2015, 16:01 | |
|
SharpA,
код в студию! с каментами!
0
|
|
| 24.10.2015, 16:01 | |
|
Помогаю со студенческими работами здесь
12
Как распаковать игру в формате .*mdf Авторизация на сайте по средствам POST запроса. Как расшифровать gzip ответ? Как распаковать заархивированные данные в формате *.arc Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ *
Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях.
Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её.
Последовательность действий:. . .
|
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
|
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение.
И на уровне агентов добавится между грибами или бактериями взаимодействий.
До того я пробовал подход через многомерные массивы,. . .
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод
Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод.
Thinkpad X220 Tablet —. . .
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|