最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2013年06月25日 16:24:02   作者:  
本篇文章是對使用php判斷網(wǎng)頁是否gzip壓縮進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
昨天晚上群里有朋友采集網(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;

相關(guān)文章

  • PHP查詢附近的人及其距離的實(shí)現(xiàn)方法

    PHP查詢附近的人及其距離的實(shí)現(xiàn)方法

    這篇文章主要介紹了PHP查詢附近的人及其距離的實(shí)現(xiàn)方法,涉及php數(shù)學(xué)運(yùn)算的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2016-05-05
  • php編寫的抽獎(jiǎng)程序中獎(jiǎng)概率算法

    php編寫的抽獎(jiǎng)程序中獎(jiǎng)概率算法

    本文給大家分享的是php中獎(jiǎng)概率算法,可用于刮刮卡,大轉(zhuǎn)盤等抽獎(jiǎng)算法。用法很簡單,代碼里有詳細(xì)注釋說明,一看就懂,有需要的小伙伴參考下吧。
    2015-05-05
  • CodeIgniter圖像處理類的深入解析

    CodeIgniter圖像處理類的深入解析

    本篇文章是對CodeIgniter的圖像處理類進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • php bootstrap實(shí)現(xiàn)簡單登錄

    php bootstrap實(shí)現(xiàn)簡單登錄

    這篇文章主要為大家詳細(xì)介紹了php bootstrap實(shí)現(xiàn)簡單登錄的具體方法,感興趣的小伙伴們可以參考一下
    2016-03-03
  • 編譯php 5.2.14+fpm+memcached(具體操作詳解)

    編譯php 5.2.14+fpm+memcached(具體操作詳解)

    本篇文章是對編譯php5.2.14+fpm+memcached的具體操作進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • 淺談Swoole并發(fā)編程的魅力

    淺談Swoole并發(fā)編程的魅力

    PHP語言是一個(gè)短生命周期的Web編程語言,很多PHPer已經(jīng)形成了fpm下編程的思維定勢。實(shí)際上在Swoole出現(xiàn)之后,這種串行化編程的模式早已被打破。使用Swoole完全可以輕易實(shí)現(xiàn)更靈活的并發(fā)編程。
    2021-05-05
  • php通過array_merge()函數(shù)合并關(guān)聯(lián)和非關(guān)聯(lián)數(shù)組的方法

    php通過array_merge()函數(shù)合并關(guān)聯(lián)和非關(guān)聯(lián)數(shù)組的方法

    這篇文章主要介紹了php通過array_merge()函數(shù)合并關(guān)聯(lián)和非關(guān)聯(lián)數(shù)組的方法,涉及php中array_merge()函數(shù)操作數(shù)組合并的技巧,需要的朋友可以參考下
    2015-03-03
  • PHP記錄搜索引擎蜘蛛訪問網(wǎng)站足跡的方法

    PHP記錄搜索引擎蜘蛛訪問網(wǎng)站足跡的方法

    這篇文章主要介紹了PHP記錄搜索引擎蜘蛛訪問網(wǎng)站足跡的方法,實(shí)例分析了針對php記錄搜索引擎蜘蛛訪問足跡的技巧,涉及數(shù)據(jù)庫的創(chuàng)建及php記錄各類常見搜索引擎訪問的方法,需要的朋友可以參考下
    2015-04-04
  • 如何利用PHP實(shí)現(xiàn)上傳圖片功能詳解

    如何利用PHP實(shí)現(xiàn)上傳圖片功能詳解

    這篇文章主要給大家介紹了關(guān)于如何利用PHP實(shí)現(xiàn)上傳圖片功能的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • php中的抽象方法和抽象類

    php中的抽象方法和抽象類

    本文主要介紹了php中的抽象方法和抽象類。具有很好的參考價(jià)值,下面跟著小編一起來看下吧
    2017-02-02

最新評(píng)論

勃利县| 广州市| 延安市| 天柱县| 玉龙| 济南市| 美姑县| 大连市| 漳平市| 花垣县| 桂林市| 红原县| 盱眙县| 包头市| 福建省| 宁津县| 湖口县| 舒城县| 铜陵市| 黑龙江省| 南康市| 永和县| 泾源县| 陇西县| 广汉市| 星子县| 遂昌县| 沙田区| 四川省| 依安县| 开江县| 兰溪市| 宜兰县| 怀集县| 博野县| 宁明县| 黑山县| 丰都县| 昌平区| 九江市| 政和县|