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

使用php判斷網(wǎng)頁是否gzip壓縮

昨天晚上群里有朋友采集網(wǎng)頁時(shí)發(fā)現(xiàn)file_get_contents 獲得的網(wǎng)頁保存到本地為亂碼,響應(yīng)的header 里 Content-Encoding:gzip
但在瀏覽器里看是正常的。
因?yàn)槲矣羞^相關(guān)經(jīng)驗(yàn)馬上發(fā)現(xiàn)是網(wǎng)站開啟了gzip而file_get_contents 獲得的是壓縮過的頁面,而不是解壓過的頁面(不知道是不是要file_get_conttents 請求網(wǎng)頁時(shí)帶上相應(yīng)的參數(shù),直接獲得沒有被gzip壓縮過的網(wǎng)頁?)
剛好我前不久剛看到可以用讀取文件的前2個(gè)字節(jié)判斷文件類型。群里面的朋友也說gzip壓縮過的網(wǎng)頁(gbk編碼)前2字節(jié)是 1F 8B 于是就可以判斷網(wǎng)頁是否gzip壓縮過。
代碼如下:
復(fù)制代碼 代碼如下:
//米爾軍事網(wǎng)采用 gzip壓縮網(wǎng)頁
//file_get_contents 直接獲得的網(wǎng)頁是亂碼。
header('Content-Type:text/html;charset=utf-8' );
$url = 'http://www.miercn.com';
$file = fopen($url, "rb");  
//只讀2字節(jié)  如果為(16進(jìn)制)1f 8b (10進(jìn)制)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:      
      //網(wǎng)站開啟了gzip
        $isGzip = 1;
        break;
    default:  
        $isGzip = 0;
}  
$url = $isGzip ? "compress.zlib://".$url:$url; // 三元表達(dá)式
$mierHtml = file_get_contents($url); //獲得米爾軍事網(wǎng)數(shù)據(jù)
$mierHtml = iconv("gbk","utf-8",$mierHtml);
echo $mierHtml;

php技術(shù)使用php判斷網(wǎng)頁是否gzip壓縮,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 国产剧情自拍 | 色资源二区在线视频 | 国模337人人本艺术150p | 免费小视频网站 | 激情综合婷婷丁香六月花 | 欧美高清狂热视频60一70 | 欧美一区二区三区视频 | 中文字幕久久久久 | 加勒比东洋精品映画防屏蔽 | 五月激情天 | 国产v精品成人免费视频71sao | 国产成人免费高清视频 | 亚洲毛片视频 | 毛片男人18女人19 | 欧美日韩国产色综合一二三四 | 色播视频在线观看免费 | 中文日产国产精品久久 | 亚洲小视频在线观看 | 国产区更新 | 品色视频 | 国产精品自产拍视频观看 | 亚洲午夜精品久久久久久成年 | 国产精品91av | 欧美人与物另类 | 久久网国产 | 久久久久久综合一区中文字幕 | 一级做a爰片性色毛片刺激 一级做a爰片性色毛片黄书 | 一本大道加勒比久久综合 | 欧美黑人xxxxx性受 | 四虎最新入口 | 7777精品伊人久久久大香线蕉 | 欧美人在线视频 | 国产精品国产色综合色 | 亚洲精品成人在线 | 国产成人综合在线 | 久久不雅视频 | 国产最新精品视频 | 九九碰| 99精彩免费观看 | 国产视频 每日更新 | 亚洲成a人一区二区三区 |