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

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

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://m.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;


延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 男神插曲女生动漫完整版动漫 | 俄罗斯一级淫片 | 日韩资源在线 | aⅴ导航站 | 国产精品suv一区二区 | 99热国产这里只有精品 | 国产成人在线影院 | 美国女艳星brandilove | 99精品视频在线观看re | 嫩草影院精品视频在线观看 | 国产a一级毛片午夜剧院 | 午夜久久影院 | 调教处男 | 午夜亚洲 | 蜜桃88av| 久久久伊人影院 | 脱jk裙的美女露小内内无遮挡 | xxoo做爰猛烈动态 | 齐天大性之七仙女欲春迅雷链接 | 欧美高清3dfreexxxx性 | 6080欧美一区二区三区四区 | 免费看片黄色 | 午夜福利电影网站鲁片大全 | 日韩美女强理论片 | 摸咪网在线影院在线观看 | 欧美一区二区三区久久久 | 亚洲国产区 | 国产精品一区二区三区免费视频 | 男同志与动人物zozotv | 日本高清免费不卡在线播放 | 从后面撕开老师的丝袜动态图 | 国产精品福利一区二区亚瑟 | 4hu永久地域网名入口 | 毛片啪啪视频 | 国产专区一va亚洲v天堂 | 国产欧美一区二区三区久久 | 亚洲AV国产福利精品在现观看 | 日本加勒比在线播放 | 日韩一本在线 | 欧美人与日本人xx在线视频 | 国产亚洲人成网站在线观看不卡 |