После создания запроса GZIP выкачать в PHP, я получаю спущенную строку в офсетных кусках, которые выглядят следующим образомКак декодировать/раздувать стробированную строку gzip?
Пример сильно укороченный, чтобы показать формат:
00001B4E
¾”kŒj…Øæ’ìÑ«F1ìÊ`+ƒQì¹UÜjùJƒZ\µy¡ÓUžGr‡J&=KLËÙÍ~=ÍkR
0000102F
ñÞœÞôΑüo[¾”+’Ñ8#à»0±R-4VÕ’n›êˆÍ.MCŽ…ÏÖr¿3M—èßñ°r¡\+
00000000
Я не может надуть, что предположительно из-за фрагментированного формата. Я могу подтвердить, что данные не повреждены после ручного удаления смещений с помощью редактора Hex и чтения архива gzip. Мне интересно, есть ли подходящий метод для анализа этого chunked gzip deblated response в читаемой строке?
Я мог бы разделить эти смещения и объединить данные в одну строку, чтобы вызвать gzinflate, но, похоже, должен быть более простой способ.
Отлично, работает так, как ожидалось. Это удобная функция PHP, я искал ее некоторое время. Большое спасибо! – user1309276
@ user1309276 Я обновил вышеуказанную функцию, у нее была ошибка, окружающая поведение, когда строка содержит литерал CRLF. Это теперь исправлено, и это также обеспечило лучшее обнаружение неверных строк. – DaveRandom
Еще раз спасибо! Для тех, у кого до сих пор возникают проблемы, после вызова unchunk_string все, что мне нужно сделать, это удалить первые 10 байтов, используя: $ data = gzinflate (substr ($ data, 10)); – user1309276