Mendapatkan semula halaman web yang dizip dengan cURL boleh menimbulkan cabaran apabila memaparkan kandungan pada penyemak imbas. Daripada mendapatkan HTML yang dimaksudkan, anda mungkin mendapat data gzip mentah. Untuk menyelesaikan isu ini, kami menyelidiki kaedah penyahkodan yang cekap dalam PHP.
Pertama, kita perlu memahami gelagat cURL. Secara lalai, cURL tidak menyahkod data gzip secara automatik. Untuk mendayakan ini, kami boleh mengaktifkan mod "pengekodan automatik" cURL.
Laksanakan arahan berikut untuk membenarkan cURL mengendalikan proses pengekodan:
<code class="php">// Allow cURL to use gzip compression, or any other supported encoding // A blank string activates 'auto' mode curl_setopt($ch, CURLOPT_ENCODING, '');</code>
Dengan tetapan ini, cURL akan memaklumkan pelayan tentang kaedah pengekodan yang disokong (melalui pengepala Terima-Pengekodan) dan menyahmampat respons secara automatik.
Untuk situasi tertentu, anda mungkin memilih untuk paksa pengepala menjadi Accept-Encoding: gzip. Gunakan arahan ini:
<code class="php">// Allow cURL to use gzip compression, or any other supported encoding curl_setopt($ch, CURLOPT_ENCODING, 'gzip');</code>
Dengan mendayakan mod auto pengekodan cURL atau memaksa pengekodan gzip, anda boleh dengan mudah menyahkod halaman web berzip yang diambil melalui cURL dalam PHP. Rujuk dokumentasi PHP untuk mendapatkan butiran lanjut tentang curl_setopt.
Atas ialah kandungan terperinci Bagaimana untuk Menyahkod Halaman Web Gzip Diambil melalui cURL dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!