Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Menyahmampat Halaman Web Gzipped Diambil melalui cURL dalam PHP?

Bagaimana untuk Menyahmampat Halaman Web Gzipped Diambil melalui cURL dalam PHP?

DDD
DDDasal
2024-10-24 01:00:02753semak imbas

How to Decompress Gzipped Web Pages Retrieved via cURL in PHP?

Menyahkod Halaman Web Gzip 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 Auto

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".

Paksa Mampatan GZIP

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.

Penyahmampatan PHP Fungsi

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.

Amalan Terbaik

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>

Nota Tambahan

  • Perlu diingat bahawa pelayan mesti menyokong pemampatan GZIP agar mana-mana kaedah ini berfungsi.
  • Untuk mendapatkan maklumat lanjut tentang pilihan cURL, rujuk dokumentasi PHP pada curl_setopt.

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn