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中执行系统外部命令
Oct 09 PHP
php UTF8 文件的签名问题
Oct 30 PHP
PHP写UltraEdit插件脚本实现方法
Dec 26 PHP
php中邮箱地址正则表达式实现与详解
Apr 24 PHP
PHP实现HTML生成PDF文件的方法
Nov 07 PHP
PHP网络操作函数汇总
May 18 PHP
php验证码生成代码
Nov 11 PHP
php ajax实现文件上传进度条
Mar 29 PHP
PHP mysqli事务操作常用方法分析
Jul 22 PHP
php接口隔离原则实例分析
Nov 11 PHP
php变量与字符串的增删改查操作示例
May 07 PHP
PHP获取当前时间不准确问题解决方案
Aug 14 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
德生S2000收音机更换“钕铁硼”全频扬声器
2021/03/02 无线电
php fckeditor 调用的函数
2009/06/21 PHP
PHP正则的Unknown Modifier错误解决方法
2010/03/02 PHP
PHP strtotime函数用法、实现原理和源码分析
2015/02/04 PHP
WordPress中给文章添加自定义字段及后台编辑功能区域
2015/12/19 PHP
Smarty变量用法详解
2016/05/11 PHP
laravel学习教程之关联模型
2016/07/30 PHP
分享一道笔试题[有n个直线最多可以把一个平面分成多少个部分]
2012/10/12 Javascript
Javascript合并表格中具有相同内容单元格示例
2013/08/11 Javascript
jQuery学习笔记之jQuery动画效果
2013/09/09 Javascript
window.print打印指定div实例代码
2013/12/13 Javascript
jQuery中:contains选择器用法实例
2014/12/30 Javascript
text-align:justify实现文本两端对齐 兼容IE
2015/08/19 Javascript
RequireJS入门一之实现第一个例子
2015/09/30 Javascript
BootStrap中Datepicker控件带中文的js文件
2016/08/10 Javascript
Canvas 制作动态进度加载水球详解及实例代码
2016/12/09 Javascript
Vue常用指令详解分析
2018/08/19 Javascript
详解使用VUE搭建后台管理系统(vue-cli更新至3.0)
2018/08/22 Javascript
Vue数组响应式操作及高阶函数使用代码详解
2020/08/01 Javascript
Vue实现todo应用的示例
2021/02/20 Vue.js
Python基于opencv实现的简单画板功能示例
2019/03/04 Python
Python Numpy 自然数填充数组的实现
2019/11/28 Python
python小白切忌乱用表达式
2020/05/29 Python
python中selenium库的基本使用详解
2020/07/31 Python
Django模型验证器介绍与源码分析
2020/09/08 Python
delegate与普通函数的区别
2014/01/22 面试题
大学生自我鉴定
2013/12/16 职场文书
自动化职业生涯规划书范文
2014/01/03 职场文书
大学活动总结范文
2014/04/29 职场文书
奥巴马连任演讲稿
2014/05/15 职场文书
绿色环保口号
2014/06/12 职场文书
电气自动化求职信
2014/06/24 职场文书
小学生教师节演讲稿
2014/09/03 职场文书
2016大学自主招生推荐信范文
2015/03/23 职场文书
政府会议通知范文
2015/04/15 职场文书
小学体育跳绳课教学反思
2016/02/16 职场文书