今天对接讯飞广告的时候发现返回的数据都是乱码,看了看头部是用gzip加密的那就解压了。
解决:
curl_setopt($ch, CURLOPT_ENCODING,'gzip');
网上查了还有一种(这个还没有测)
$return = gzdecode($return); //将return的字符进行解码
我写的源代码是:
$ch = curl_init();
$timeout = 30000;
$data_string = json_encode($data_string);
curl_setopt($ch,CURLOPT_HTTPHEADER,$this_header);
curl_setopt($ch, CURLOPT_URL, self::URL);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
curl_setopt($ch, CURLOPT_ENCODING,'gzip');
$handles = curl_exec($ch);
curl_close($ch);
$handles = json_decode($handles,true);
return $handles;