91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

怎么使用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

太仆寺旗| 饶阳县| 尉氏县| 光山县| 济源市| 射阳县| 闽清县| 航空| 凉山| 巴中市| 银川市| 监利县| 阿拉善左旗| 固阳县| 白银市| 连州市| 丹阳市| 镇远县| 元氏县| 高要市| 山东| 南开区| 砀山县| 梧州市| 巫山县| 武强县| 延寿县| 洛阳市| 宜春市| 中江县| 濮阳市| 东乡| 类乌齐县| 广灵县| 巴东县| 皋兰县| 广昌县| 涞水县| 壤塘县| 仁化县| 延吉市|