Das Abrufen komprimierter Webseiten mit cURL kann bei der Anzeige des Inhalts in einem Browser zu Herausforderungen führen. Anstatt den beabsichtigten HTML-Code zu erhalten, erhalten Sie möglicherweise rohe gzip-Daten. Um dieses Problem zu lösen, beschäftigen wir uns mit effizienten Decodierungsmethoden in PHP.
Zuerst müssen wir das Verhalten von cURL verstehen. Standardmäßig dekodiert cURL gzip-Daten nicht automatisch. Um dies zu ermöglichen, können wir den „Auto Encoding“-Modus von cURL aktivieren.
Führen Sie den folgenden Befehl aus, damit cURL den Codierungsprozess übernimmt:
// Allow cURL to use gzip compression, or any other supported encoding
// A blank string activates 'auto' mode
curl_setopt($ch, CURLOPT_ENCODING, '');
Mit dieser Einstellung informiert cURL den Server über unterstützte Kodierungsmethoden (über den Accept-Encoding-Header) und dekomprimiert die Antwort automatisch.
In bestimmten Situationen möchten Sie möglicherweise die Annahme-Kodierung des Headers erzwingen: gzip. Verwenden Sie diesen Befehl:
// Allow cURL to use gzip compression, or any other supported encoding
curl_setopt($ch, CURLOPT_ENCODING, 'gzip');
Indem Sie den automatischen Kodierungsmodus von cURL aktivieren oder die Gzip-Kodierung erzwingen, können Sie über cURL abgerufene gzip-Webseiten mühelos in PHP dekodieren. Weitere Informationen zu curl_setopt finden Sie in der PHP-Dokumentation.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3