php读取远程gzip压缩网页的方法


Posted in PHP onDecember 29, 2014

今天在调取一家商城的页面信息时候,使用file_get_contents抑或curl:

$url = 'http://www.xxx.com/21/?type=23′;  

$temp = file_get_contents($url);  

echo $temp;

都得到一片乱码,查看了许多内容,包括页面的header信息,发现原来页面使用了。

 

php读取远程gzip压缩网页的方法

 

类似的信息,即Content-Encoding为gzip,即该站点开启了gzip压缩。这里的解决方案有多种,当然如果你使用file_get_contents的话,可以这样修改:

 

file_get_contents("compress.zlib://".$url);

或者使用curl来完成:

function curl_get($url, $gzip=false){   

        $curl = curl_init($url);   

        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);   

        curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 10);   

        if($gzip) curl_setopt($curl, CURLOPT_ENCODING, "gzip"); // 关键在这里   

        $content = curl_exec($curl);   

        curl_close($curl);   

        return $content;   

} 

同时,参考手册上面的解法,还可以对保存gzip类型的字符串进行处理如下:

function gzdecode($data){   

    $g=tempnam(‘/tmp','ff');   

    @file_put_contents($g,$data);   

    ob_start();   

    readgzfile($g);   

    $d=ob_get_clean();   

    return $d;   

}
PHP 相关文章推荐
PHP文件上传原理简单分析
May 29 PHP
深入解析PHP内存管理之谁动了我的内存
Jun 20 PHP
Laravel 4.2 中队列服务(queue)使用感受
Oct 30 PHP
PHP使用mysql_fetch_row查询获得数据行列表的方法
Mar 18 PHP
php实现搜索一维数组元素并删除二维数组对应元素的方法
Jul 06 PHP
PHP实现对二维数组某个键排序的方法
Sep 14 PHP
php Session无效分析资料整理
Nov 29 PHP
php字符集转换
Jan 23 PHP
PHP数组内存利用率低和弱类型详细解读
Aug 10 PHP
PHP5中使用mysqli的prepare操作数据库的介绍
Mar 18 PHP
php生成静态页面并实现预览功能
Jun 27 PHP
tp5.1 框架数据库高级查询技巧实例总结
May 25 PHP
php导入大量数据到mysql性能优化技巧
Dec 29 #PHP
推荐几个开源的微信开发项目
Dec 28 #PHP
dedecms集成财付通支付接口
Dec 28 #PHP
VPS中使用LNMP安装WordPress教程
Dec 28 #PHP
php随机取mysql记录方法小结
Dec 27 #PHP
php使用PDO方法详解
Dec 27 #PHP
PHP把MSSQL数据导入到MYSQL的方法
Dec 27 #PHP
You might like
PHP strtr() 函数使用说明
2008/11/21 PHP
PHP验证码类代码( 最新修改,完全定制化! )
2010/12/02 PHP
第六章 php目录与文件操作
2011/12/30 PHP
php中file_get_contents与curl性能比较分析
2014/11/08 PHP
CentOS7系统搭建LAMP及更新PHP版本操作详解
2020/03/26 PHP
PHP正则之正向预查与反向预查讲解与实例
2020/04/06 PHP
图片上传即时显示缩略图的js代码
2009/05/27 Javascript
JavaScript接口实现代码 (Interfaces In JavaScript)
2010/06/11 Javascript
JavaScript按位运算符的应用简析
2014/02/04 Javascript
JavaScript实现强制重定向至HTTPS页面
2015/06/10 Javascript
常常会用到的截取字符串substr()、substring()、slice()方法详解
2015/12/16 Javascript
JavaScript数组方法总结分析
2016/05/06 Javascript
BootStrap Table 获取同行不同列元素的方法
2016/12/19 Javascript
Node.js对MongoDB数据库实现模糊查询的方法
2017/05/03 Javascript
关于Vue的路由权限管理的示例代码
2018/03/06 Javascript
详解Vue+axios+Node+express实现文件上传(用户头像上传)
2018/08/10 Javascript
Vue开发实现吸顶效果的示例代码
2018/08/21 Javascript
对Vue table 动态表格td可编辑的方法详解
2018/08/28 Javascript
JS/HTML5游戏常用算法之追踪算法实例详解
2018/12/12 Javascript
Angular PWA使用的Demo示例
2019/01/31 Javascript
微信小程序渲染性能调优小结
2019/07/30 Javascript
微信小程序 腾讯地图SDK 获取当前地址实现解析
2019/08/12 Javascript
对python opencv 添加文字 cv2.putText 的各参数介绍
2018/12/05 Python
python实现广度优先搜索过程解析
2019/10/19 Python
Python序列化pickle模块使用详解
2020/03/05 Python
英国最大的网上药品商店:Chemist Direct
2017/12/16 全球购物
双立人美国官方商店:ZWILLING集团餐具和炊具
2020/05/07 全球购物
在职研究生自我鉴定
2013/10/16 职场文书
最经典的大学生职业生涯规划范文
2014/03/05 职场文书
四风批评与自我批评范文
2014/10/14 职场文书
民政工作个人总结
2015/02/28 职场文书
大学推普周活动总结
2015/05/07 职场文书
隐形的翅膀观后感
2015/06/10 职场文书
2019客服个人年终工作总结范文
2019/07/08 职场文书
python办公自动化之excel的操作
2021/05/23 Python
手把手教你怎么用Python实现zip文件密码的破解
2021/05/27 Python