一区二区久久-一区二区三区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壓縮,轉載需保留來源!

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

主站蜘蛛池模板: www.色com| 欧美丝袜xxxxx在线播放 | 久久国产精品一区二区三区 | 国产精品二区高清在线 | 成人亚洲视频 | 精品综合一区二区三区 | 国产男女免费视频 | 欧美成人午夜视频 | 日本久久免费大片 | 91久久国产成人免费观看资源 | 久久精品94精品久久精品 | 草草影院禁18在线观看 | 1000部精品久久久久久久久 | 热re66久久精品国产99re | 欧美xx在线 | 国产无套在线观看视频 | 国内精品伊人久久大香线焦 | 亚洲十欧美十日韩十国产 | 国产美女在线精品观看 | 四虎4hu永久免费视频大全 | 国产剧情在线视频 | 精品一区二区三区18 | 成人小视频在线免费观看 | 亚洲综合色区图片区 | 成人免费视频69 | 四虎国产精品免费视 | 午夜免费小视频 | 午夜免费在线 | 黄色免费观看网站 | 久久久一区二区三区不卡 | 国产精品九九免费视频 | 国产精品视频999 | 久久99精品一级毛片 | 久久久久久午夜精品 | 性欧美video另类3d | 99热国产免费| 亚洲精品在线视频 | 亚洲图片欧美激情 | 精品一二区 | 亚洲一区二区三区在线网站 | 一区二区三区在线看 |