使用 cURL 擷取 gzip 壓縮的網頁時,可能會輸出原始資料而不是解碼內容。可以使用以下方法解決此問題:
cURL 的「自動編碼」模式可讓伺服器確定支援的編碼方法並自動解壓縮回應。若要啟動此模式,請使用下列指令:
透過將 CURLOPT_ENCODING 選項設為空字串,cURL 將使用「自動」模式。
或者,您可以透過將CURLOPT_ENCODING 選項設為'gzip' 來強制請求使用GZIP 壓縮:
這將明確從伺服器請求GZIP 壓縮。
如果需要手動解壓縮檢索到的數據,可以使用gzdecode() 函數:
該函數解碼GZIP 壓縮的數據並傳回未壓縮的內容。
為確保可靠解壓,建議在執行curl要求之前停用PHP的輸出緩衝。這可以防止對 cURL 處理回應的任何干擾。
以上是如何在 PHP 中解壓縮透過 cURL 檢索的 Gzip 網頁?的詳細內容。更多資訊請關注PHP中文網其他相關文章!