curl解压gzip页面gzcompress内容

Posted 三少~BackArchitect

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了curl解压gzip页面gzcompress内容相关的知识,希望对你有一定的参考价值。

$headers = array(
//"Content-type:application/json;charset=‘utf-8‘",
"Cache-Control:no-cache",
"Pragma:no-cache",
//"accept-charset:utf-8",
"Accept-Encoding:gzip",
"User-Agent:Dalvik/2.1.0 (Linux; U; android 5.1.1;Build/LMY47V)",
"Host:www.domain.cn",
//‘Transfer-Encoding:chunked‘, 压缩不能用这项
//"Content-Type:application/x-www-form-urlencoded",
//"Connection:Keep-Alive",
);

/*
* 可写文件
$sourceFile="tmp.txt";
$fp = fopen($sourceFile, "w");
*/

$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_NOBODY, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curl, CURLOPT_ENCODING, ‘gzip‘); //curl解压gzip页面内容
curl_setopt($curl, CURLOPT_FORBID_REUSE, true);
curl_setopt($curl, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
curl_setopt($curl, CURLOPT_HTTPGET, true);
//curl_setopt($curl, CURLOPT_FILE, $fp);
$data = curl_exec($curl);
curl_close($curl);

//file_put_contents(‘tmpdata.txt‘,$data);
echo bin2hex($data); //可查看下16进制
$ret = gzuncompress($data);

print_r(json_decode($ret,true)

以上是关于curl解压gzip页面gzcompress内容的主要内容,如果未能解决你的问题,请参考以下文章

php 压缩函数gzencode gzdeflate gzcompress

Axios 请求 - 来自 PHP API 的 Gzip 数据

curl的post和get的结果是啥样子的

使用 curl 时如何正确处理压缩页面?

php curl采集,服务器gzip压缩返回数据怎么办

php curl采集,服务器gzip压缩返回数据怎么办