一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

使用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技術使用php判斷網頁是否gzip壓縮,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 国产精品日本不卡一区二区 | 99久久精品免费看国产四区 | 在线免费观看福利 | 爽天天天天天天天 | 视频一区国产精品 | 国产在线精品一区二区不卡 | 国内真实愉拍系列情侣自拍 | 国产午夜大片 | 日本高清一区二区三区水蜜桃 | 午夜小视频免费 | 久久丝袜精品综合网站 | 美女视频网 | 久久综合一区二区三区 | 欧美另类videosbestsex | 麻豆国产91 | 午夜在线观看视频 | 欧美天天影院 | 韩国理伦一级毛片 | 一本大道香蕉久97在线视频 | 91精品国产91热久久p | 九九九九九九精品免费 | 激情一区 | 亚洲乱码一二三四区乱码 | 好爽毛片一区二区三区四 | 欧美成人精品欧美一级乱黄 | 综合五月婷婷 | 99久久精品免费看国产四区 | 精品麻豆视频 | 国产乱人伦精品一区二区 | 亚洲综合激情网 | 成人在色线视频在线观看免费大全 | 亚洲国产一区在线二区三区 | 91精品国产91久久久久福利 | g0g0亚洲大胆肉体艺术 | 天天澡天天碰天天狠伊人五月 | 草草线在成人免费视频 | 中文字幕一区二区在线观看 | 伊人视屏 | 久久综合亚洲鲁鲁五月天欧美 | 天天澡天天摸天天爽免费 | 欧美极品美軳人人体 |