Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] GZIP server response "entpacken"

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Erledigt] GZIP server response "entpacken"

    Ich habe das Problem, dass der Server, von dem ich Daten per POST-request abfrage, nicht mehr als Text sondern gzipped (Content-encoding gzip) geliefert wird.

    Kann man diese "wirren" Zeichen mit PHP wieder ein einen lesbaren Textstring zaubern?

    Im PHP manual habe ich "ob_gzhandler" gefunden, der aber nur den POST request zum Server gz-encoded. Und die Funktion gzdecode gibt es bei mir nicht.

    PHP-Code:
    Call to undefined function gzdecode() 
    gzuncompress meldet:

    PHP-Code:
    Warning:  gzuncompress() [function.gzuncompress]: data error 

  • #2
    Die ersten 8 Byte sind ein Header, danach kommen die komprimierten Daten, und dann folgen noch 4 Byte crc32-Checksumme. Ersteres und letzteres musst Du entsorgen, danach geht gzuncompress.

    Könnte sein, dass die ZLib-Compression-Filter auch gehen stattdessen...

    Gruß Jens

    Kommentar


    • #3
      Vielen Dank für den Tip.

      Funktioniert zwar immer noch nicht, aber ich glaube, dass ist der richtige Weg, den Header und den Prüfsumme wegzuschneiden.

      Kommentar


      • #4
        Ich musste 10 Bytes Header wegschneiden.

        Jetzt geht es:

        PHP-Code:
        $gzstring substr($post_results10, -4);
        echo 
        gzinflate($gzstring); 

        Kommentar

        Lädt...
        X