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 相关文章推荐
web目录下不应该存在多余的程序(安全考虑)
May 09 PHP
慎用preg_replace危险的/e修饰符(一句话后门常用)
Jun 19 PHP
显示youtube视频缩略图和Vimeo视频缩略图代码分享
Feb 13 PHP
PHP操作MySQL事务实例
Nov 05 PHP
php中使用session_set_save_handler()函数把session保存到MySQL数据库实例
Nov 06 PHP
php实现mysql事务处理的方法
Dec 25 PHP
Symfony2开发之控制器用法实例分析
Feb 05 PHP
PHP实现适用于自定义的验证码类
Jun 15 PHP
利用php实现一周之内自动登录存储机制(cookie、session、localStorage)
Oct 31 PHP
php将html转为图片的实现方法
May 19 PHP
使用 laravel sms 构建短信验证码发送校验功能
Nov 06 PHP
PHP替换Word中变量并导出PDF图片的实现方法
Nov 26 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
Terran兵种介绍
2020/03/14 星际争霸
收音机术语解释
2021/03/01 无线电
五款PHP代码重构工具推荐
2014/10/14 PHP
php实现比较全的数据库操作类
2015/06/18 PHP
ThinkPHP表单令牌错误的相关解决方法分析
2016/05/20 PHP
PHP实现的简单异常处理类示例
2017/05/04 PHP
tp5框架基于ajax实现异步删除图片的方法示例
2020/02/10 PHP
css动画效果之animation的常用样式
2021/03/09 HTML / CSS
js中的布尔运算符使用介绍
2013/11/20 Javascript
jquery ajax,ashx,json的用法总结
2014/02/12 Javascript
Jquery搜索父元素操作方法
2015/02/10 Javascript
解决Jquery向页面append新元素之后事件的绑定问题
2015/03/16 Javascript
JavaScript之Object类型介绍
2015/04/01 Javascript
JavaScript实现select添加option
2015/07/03 Javascript
JS实现在状态栏显示打字效果完整实例
2015/11/02 Javascript
jQuery实现调整表格单列顺序完整实例
2016/06/20 Javascript
vue组件实例解析
2017/01/10 Javascript
Angular中自定义Debounce Click指令防止重复点击
2017/07/26 Javascript
vue绑定class与行间样式style详解
2017/08/16 Javascript
javaScript强制保留两位小数的输入数校验和小数保留问题
2018/05/09 Javascript
js实现各浏览器全屏代码实例
2018/07/03 Javascript
JavaScript迭代器的含义及用法
2019/06/21 Javascript
JS实现贪吃蛇游戏
2019/11/15 Javascript
Python IDLE 错误:IDLE''s subprocess didn''t make connection 的解决方案
2017/02/13 Python
Python构建网页爬虫原理分析
2017/12/19 Python
python写入已存在的excel数据实例
2018/05/03 Python
详解Django之admin组件的使用和源码剖析
2018/05/04 Python
python解析xml简单示例
2019/06/21 Python
HTML5 canvas 瀑布流文字效果的示例代码
2018/01/31 HTML / CSS
墨西哥购物网站:Elektra
2020/01/21 全球购物
红领巾心向党广播稿
2014/01/19 职场文书
给老师的检讨书
2014/02/11 职场文书
品质主管岗位职责
2014/03/16 职场文书
社区党风廉政建设调研报告
2015/01/01 职场文书
银行催款通知书
2015/04/17 职场文书
Python利用folium实现地图可视化
2021/05/23 Python