在瀏覽器上顯示內容時,使用 cURL 擷取 gzip 壓縮網頁可能會帶來挑戰。您最終可能會獲得原始的 gzip 數據,而不是獲得預期的 HTML。為了解決這個問題,我們深入研究 PHP 中的高效解碼方法。
首先,我們需要了解 cURL 的行為。預設情況下,cURL 不會自動解碼 gzip 資料。要啟用此功能,我們可以啟動 cURL 的「自動編碼」模式。
執行以下指令讓 cURL 處理編碼過程:
// Allow cURL to use gzip compression, or any other supported encoding
// A blank string activates 'auto' mode
curl_setopt($ch, CURLOPT_ENCODING, '');
透過此設置,cURL 將通知伺服器支援的編碼方法(透過 Accept-Encoding 標頭)並自動解壓縮回應。
對於特定情況,您可能更願意強制標頭為 Accept-Encoding:gzip。使用此命令:
// Allow cURL to use gzip compression, or any other supported encoding
curl_setopt($ch, CURLOPT_ENCODING, 'gzip');
透過啟用cURL 的自動編碼模式或強制gzip 編碼,您可以毫不費力地解碼在PHP 中透過cURL 檢索到的gzip 壓縮網頁。有關curl_setopt的更多詳細信息,請參閱PHP文件。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3