一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - 使用php判斷網頁是否gzip壓縮

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

2020-04-29 13:37PHP教程網 PHP教程

本篇文章是對使用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.ythuaji.com.cn';
$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;


延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲一区二区三区免费视频 | 91在线视频播放 | 99视频全部看免费观 | 大杳蕉在线影院在线播放 | 午夜dj影院在线视频观看完整 | 99久久中文字幕伊人 | 成人欧美一区二区三区黑人 | 国产老村长足疗店对白 | 2020国产精品永久在线观看 | 欧美一区高清 | 金发美女与黑人做爰 | 日本高清视频网站www | 久久精品国产视频澳门 | 深夜免费在线观看 | 国产馆 | 精品无码一区在线观看 | 高清日韩在线 | 99热r| 97青草| chinesexxxx高中生gay | 国产馆精品推荐在线观看 | 国产亚洲福利一区二区免费看 | 精品国产自在在线在线观看 | 草草影院国产 | 国产成人理在线观看视频 | 91久久夜色精品国产九色 | 动漫美女胸被狂揉扒开吃奶动态图 | 男女性刺激爽爽免费视频 | 青草香蕉精品视频在线观看 | 国产90后美女露脸在线观看 | 欧美一卡2卡3卡四卡海外精品 | 男人和女人全黄一级毛片 | 亚洲第一永久色 | 丝瓜视频成人在线观看 | 亚洲国产日韩制服在线观看 | 国产二区三区 | 国产女乱淫真高清免费视频 | 青柠网在线观看视频 | 国色天香社区视频在线观看免费完整版 | 九九国产视频 | 亚洲国产成人久久99精品 |