Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Menyahmampat Halaman Web Gzipped Diambil melalui cURL dalam PHP?
Apabila mendapatkan semula halaman web yang dizip menggunakan cURL, data mentah mungkin dikeluarkan dan bukannya kandungan yang dinyahkod. Menyelesaikan perkara ini boleh dicapai menggunakan kaedah berikut:
mod "pengekodan automatik" cURL membolehkan pelayan menentukan kaedah pengekodan yang disokong dan menyahmampat respons secara automatik. Untuk mengaktifkan mod ini, gunakan arahan berikut:
<code class="php">curl_setopt($ch, CURLOPT_ENCODING, '');</code>
Dengan menetapkan pilihan CURLOPT_ENCODING kepada rentetan kosong, cURL akan menggunakan mod "auto".
Sebagai alternatif, anda boleh memaksa permintaan untuk menggunakan pemampatan GZIP dengan menetapkan pilihan CURLOPT_ENCODING kepada 'gzip':
<code class="php">curl_setopt($ch, CURLOPT_ENCODING, 'gzip');</code>
Ini secara eksplisit akan meminta pemampatan GZIP daripada pelayan.
Jika anda perlu menyahmampat data yang diambil secara manual, anda boleh menggunakan fungsi gzdecode():
<code class="php">$decompressedContent = gzdecode($gzippedContent);</code>
Fungsi ini menyahkod data yang dimampatkan GZIP dan mengembalikan kandungan yang tidak dimampatkan.
Untuk memastikan penyahmampatan yang boleh dipercayai, adalah disyorkan untuk melumpuhkan penimbal output PHP sebelum melaksanakan permintaan curl. Ini menghalang sebarang gangguan terhadap pengendalian respons cURL.
<code class="php">ob_end_clean();</code>
Atas ialah kandungan terperinci Bagaimana untuk Menyahmampat Halaman Web Gzipped Diambil melalui cURL dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!