我正在尝试使用以下代码使用 CURL 解码网页 www.dealstan.com:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url); // Define target site
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); // Return page in string
curl_setopt($cr, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/533.2 (KHTML, like Gecko) Chrome/5.0.342.3 Safari/533.2');
curl_setopt($ch, CURLOPT_ENCODING , "gzip");
curl_setopt($ch, CURLOPT_TIMEOUT,5);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE); // Follow redirects
$return = curl_exec($ch);
$info = curl_getinfo($ch);
curl_close($ch);
$html = str_get_html("$return");
echo $html;
但是,它显示出一些垃圾特征
“��}{w�6����9�X�n����......”约 100 行。
我试图在 hurl.it 中找到响应,发现一个有趣的点,看起来 html 被编码了两次(只是猜测,基于响应)
找到下面的回复:
得到http://www.dealstan.com/ http://www.dealstan.com/
200 正常 18.87 kB 490 毫秒
查看请求 查看响应
标头
缓存控制:max-age=0,无缓存
Cf 射线:18be7f54f8d80f1b-IAD
连接:保持活动状态
内容编码:gzip,gzip ==============>?怀疑这个,有人知道吗?
内容类型:text/html;字符集=UTF-8
日期:2014 年 11 月 19 日星期三 18:33:39 GMT
服务器:cloudflare-nginx
设置 Cookie:__cfduid=d1cff1e3134c5f32d2bddc10207bae0681416422019;过期=2015 年 11 月 19 日星期四 18:33:39 GMT;路径=/;域名=.dealstan.com;仅HTTP
传输编码:分块
变化:接受编码
X 页面速度:1.8.31.2-3973
X-回拨:http://www.dealstan.com/xmlrpc.php http://www.dealstan.com/xmlrpc.php
X-Powered-By:HHVM/3.2.0
身体视图原始
H4sIAAAAAAAAA5V8Q5AoWrBk27Ztu/u2bdu2bdu2bdu2bds2583f/pjFVOQqozZnUxkVJ7PwoyAA/qeAb3y83LbYHs/3Hv79wKm/2N5cZyJVtCWu1xyteyzLNqYuWbdtHeELCyIZRRp/1Fe7 es3+wL3Vfb
任何人都知道如何使用标题“Content-Encoding:gzip,gzip”解码响应,
该网站可以在 Firefox、Chrome 等中正确加载,但是我无法使用 CURL 进行解码。
请帮我解码这个问题?