中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么使用php判斷網頁是否gzip壓縮

發布時間:2021-03-06 14:59:07 來源:億速云 閱讀:206 作者:小新 欄目:開發技術

這篇文章將為大家詳細講解有關怎么使用php判斷網頁是否gzip壓縮,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

昨天晚上群里有朋友采集網頁時發現file_get_contents 獲得的網頁保存到本地為亂碼,響應的header 里 Content-Encoding:gzip
但在瀏覽器里看是正常的。
因為我有過相關經驗馬上發現是網站開啟了gzip而file_get_contents 獲得的是壓縮過的頁面,而不是解壓過的頁面(不知道是不是要file_get_conttents 請求網頁時帶上相應的參數,直接獲得沒有被gzip壓縮過的網頁?)
剛好我前不久剛看到可以用讀取文件的前2個字節判斷文件類型。群里面的朋友也說gzip壓縮過的網頁(gbk編碼)前2字節是 1F 8B 于是就可以判斷網頁是否gzip壓縮過。
代碼如下:

//米爾軍事網采用 gzip壓縮網頁 
//file_get_contents 直接獲得的網頁是亂碼。 
header('Content-Type:text/html;charset=utf-8' ); 
$url = 'http://www.miercn.com'; 
$file = fopen($url, "rb");   
//只讀2字節  如果為(16進制)1f 8b (10進制)31 139則開啟了gzip ; 
$bin = fread($file, 2);  
fclose($file);   
$strInfo = @unpack("C2chars", $bin);   
$typeCode = intval($strInfo['chars1'].$strInfo['chars2']);   
$isGzip = 0;   
switch ($typeCode)   
{ 
    case 31139:       
      //網站開啟了gzip 
        $isGzip = 1; 
        break; 
    default:   
        $isGzip = 0; 
}   
$url = $isGzip ? "compress.zlib://".$url:$url; // 三元表達式 
$mierHtml = file_get_contents($url); //獲得米爾軍事網數據 
$mierHtml = iconv("gbk","utf-8",$mierHtml); 
echo $mierHtml;

關于“怎么使用php判斷網頁是否gzip壓縮”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

改则县| 濮阳市| 红河县| 襄汾县| 汉沽区| 板桥市| 邵阳县| 松原市| 琼结县| 荣成市| 澄城县| 偃师市| 三台县| 安福县| 华坪县| 长沙市| 洛隆县| 高邑县| 蕲春县| 嵩明县| 乌恰县| 尚义县| 曲阜市| 林西县| 绍兴县| 尤溪县| 双城市| 柏乡县| 泰来县| 花莲市| 宣威市| 海南省| 汕头市| 唐河县| 古交市| 漾濞| 紫金县| 松溪县| 佳木斯市| 越西县| 乌兰察布市|