Dekodierung Gzip-komprimierter Webseiten, die über cURL in PHP abgerufen werden
Beim Abrufen gzip-komprimierter Webseiten über cURL werden häufig die rohen komprimierten Daten zurückgegeben als Antwort. Um diese Daten in PHP richtig zu dekodieren, können verschiedene Methoden eingesetzt werden.
Ein Ansatz besteht darin, den Inhalt in eine temporäre Datei zu schreiben und ihn mit den Funktionen gzopen, gzread und gzclose zu dekomprimieren. Eine effizientere Lösung ist jedoch über die automatische Kodierungsfunktion von cURL verfügbar.
Automatische Kodierung in cURL
Indem Sie die Option CURLOPT_ENCODING auf eine leere Zeichenfolge oder „gzip“ setzen ', cURL aktiviert automatisch den automatischen Kodierungsmodus. In diesem Modus:
Kodierungsoption festlegen
Um die automatische Kodierung zu aktivieren, verwenden Sie den folgenden Befehl:
<code class="php">curl_setopt($ch, CURLOPT_ENCODING , ''); // Activates 'auto' mode</code>
Um die gzip-Kodierung im Anforderungsheader zu erzwingen, verwenden Sie alternativ Folgendes:
<code class="php">curl_setopt($ch, CURLOPT_ENCODING , 'gzip');</code>
Fazit
Automatische Kodierung ist eine bequeme und effiziente Möglichkeit, gzip-gepackte Webseiten zu dekodieren über cURL in PHP abgerufen. Es macht eine manuelle Dateiverwaltung überflüssig und ermöglicht eine nahtlose Dekodierung ohne Einbußen bei der Leistung.
Das obige ist der detaillierte Inhalt vonSo dekodieren Sie Gzip-komprimierte Webseiten, die über cURL in PHP abgerufen werden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!