毫无疑问,直接获取results是乱码,后面的什么正则匹配啊,什么的都是徒劳。
花了不少时间去研究,当然修改snoopy底层我是不会的,技术不好,找了其他替代的方法,比如csdn上有篇帖子说的http_client,但是没有解决问题,后来搜到一篇文章,他是用file_get_content获取页面乱码,同样是gzip压缩的问题
方法一:curl
/** * curl_get() * * 通过curl获取页面内容 * * @param mixed $url * @param bool $gzip * @return */ function curl_get($url, $gzip=false) { $curl = curl_init($url); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 10); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); if($gzip) { curl_setopt($curl, CURLOPT_ENCODING, "gzip"); // 关键在这里 } $content = curl_exec($curl); curl_close($curl); return $content; }
方法二:file_get_contents
file_get_contents(“compress.zlib://”.$url); 无论页面是否经过gzip压缩,上述代码都可以正常工作! PHP 4.3.0以后版本支持,还可以用于fopen之类的函数~!
------------正 文 已 结 束, 感 谢 您 的 阅 读 (折雨的天空)--------------------
转载请注明本文标题和链接:《snoopy获取页面内容遇到gzip的情况》
发表评论