Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara Menyahkod Halaman Web Mampat Gzip Diambil melalui cURL dalam PHP

Cara Menyahkod Halaman Web Mampat Gzip Diambil melalui cURL dalam PHP

Barbara Streisand
Barbara Streisandasal
2024-10-24 03:17:02717semak imbas

How to Decode Gzip-Compressed Web Pages Retrieved via cURL in PHP

Menyahkod Halaman Web Termampat Gzip Diambil melalui cURL dalam PHP

Apabila mendapatkan semula halaman web yang dizip melalui cURL, data termampat mentah sering dikembalikan sebagai tindak balas. Untuk menyahkod data ini dalam PHP dengan betul, pelbagai kaedah boleh digunakan.

Satu pendekatan melibatkan menulis kandungan ke fail sementara dan menggunakan fungsi gzopen, gzread dan gzclose untuk menyahmampatnya. Walau bagaimanapun, penyelesaian yang lebih cekap tersedia melalui ciri pengekodan auto cURL.

Pengekodan Auto dalam cURL

Dengan menetapkan pilihan CURLOPT_ENCODING kepada rentetan kosong atau 'gzip ', cURL akan mendayakan mod pengekodan automatik secara automatik. Dalam mod ini:

  • cURL akan mengumumkan sokongannya untuk pelbagai kaedah pengekodan kepada pelayan melalui pengepala Accept-Encoding.
  • Jika pelayan membalas dengan respons gzip, cURL akan secara automatik nyahmampatkannya dengan cepat.

Menetapkan Pilihan Pengekodan

Untuk mendayakan pengekodan automatik, gunakan arahan berikut:

<code class="php">curl_setopt($ch, CURLOPT_ENCODING , ''); // Activates 'auto' mode</code>

Sebagai alternatif, untuk memaksa pengekodan gzip dalam pengepala permintaan, gunakan:

<code class="php">curl_setopt($ch, CURLOPT_ENCODING , 'gzip');</code>

Kesimpulan

Pengekodan automatik ialah cara yang mudah dan cekap untuk menyahkod halaman web yang dizip diambil melalui cURL dalam PHP. Ia menghapuskan keperluan untuk pengendalian fail manual dan menyediakan penyahkodan yang lancar tanpa mengorbankan prestasi.

Atas ialah kandungan terperinci Cara Menyahkod Halaman Web Mampat Gzip 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