国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

gzip文件和字符串解壓實例教程

2024-05-04 23:05:46
字體:
來源:轉載
供稿:網友

要采集一個網站,目標站采用了gzip壓縮傳輸網頁,本來應該只要發送一個http頭 accept-encoding: identity或者干脆不發送這個頭等,就可以使目標站返回沒有經過gzip壓縮的頁面了,不過很不幸,目標站無視客戶端的請求,仍然返回gzip數據,造成亂碼。

其實php對gzip解壓很簡單,用內置的gzdecode函數就可以了,不過很可惜我配置了半天也無法支持gzdecode函數,所以只好變通一下:

以下為引用的內容:

if (!function_exists('gzdecode')) {
function gzdecode ($data) {
$flags = ord(substr($data, 3, 1));
$headerlen = 10;
$extralen = 0;
$filenamelen = 0;
if ($flags & 4) {
$extralen = unpack('v' ,substr($data, 10, 2));
$extralen = $extralen[1];
$headerlen += 2 + $extralen;
}
if ($flags & 8) // filename
$headerlen = strpos($data, chr(0), $headerlen) + 1;
if ($flags & 16) // comment
$headerlen = strpos($data, chr(0), $headerlen) + 1;
if ($flags & 2) // crc at end of file
$headerlen += 2;
$unpacked = @gzinflate(substr($data, $headerlen));
if ($unpacked === false)
$unpacked = $data;
return $unpacked;
}
}

調用方法很簡單:

以下為引用的內容:

$[email protected]_get_contents("http://www.itlearner.com");
echo gzdecode($f);

商業源碼熱門下載www.html.org.cn

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 安义县| 海安县| 抚松县| 恩施市| 萨嘎县| 嘉鱼县| 栾川县| 抚顺市| 民丰县| 崇州市| 邵武市| 靖宇县| 怀来县| 青冈县| 桦川县| 昭觉县| 自治县| 河西区| 红河县| 新昌县| 邮箱| 筠连县| 昆山市| 卓资县| 贵州省| 青浦区| 新竹市| 五台县| 漳浦县| 永春县| 会同县| 龙里县| 清涧县| 定日县| 青岛市| 二手房| 涿州市| 资阳市| 马公市| 淳安县| 罗山县|