Después de hacer una solicitud gzip desinflado en PHP, recibo la cadena desinflado en trozos de compensación, que se parece a la siguiente¿Cómo decodificar/inflar una cadena gzip fragmentada?
Ejemplo acortado para mostrar formato:
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
no soy capaz de inflar que presumiblemente debido al formato fragmentado. Puedo confirmar que los datos no están corruptos después de eliminar manualmente los desplazamientos con un editor hexadecimal y leer el archivo gzip. Me pregunto si existe un método adecuado para analizar esta respuesta desinflada gzip fragmentada en una cadena legible.
Es posible que pueda dividir estos desplazamientos y unir los datos en una cadena para llamar a gzinflate, pero parece que debe haber una manera más fácil.
Excelente, funciona tal como se esperaba. Esa es una función útil de PHP, de hecho, he estado buscando esto por un tiempo ahora. ¡Muchas gracias! – user1309276
@ user1309276 He actualizado la función anterior, tenía un error que rodea el comportamiento cuando la cadena contiene un CRLF literal. Esto ahora se ha solucionado, y esto también ha proporcionado una mejor detección de cadenas malformadas. – DaveRandom
¡Gracias de nuevo! Para cualquiera que todavía tenga problemas, después de llamar a unchunk_string todo lo que necesito hacer es eliminar los primeros 10 bytes usando: $ data = gzinflate (substr ($ data, 10)); – user1309276