我一直试图解决这个问题已经整整一天了,无法让它发挥作用。这应该是容易的东西。
问题是,我对此网址发出了GET请求:http://api.champion.gg/stats?api_key=851a15d4f271849f3beee664ea03db3b
然后,我尝试使用PHP函数json_decode将结果转换为JSON格式。我是这样做的:
$httpResponse = drupal_http_request('http://api.champion.gg/stats?api_key=851a15d4f271849f3beee664ea03db3b');
$data = $httpResponse->data;
$datas = json_decode($data);
var_export($datas);
$error = json_last_error_msg();
echo "Error = $error";
错误消息返回"控制字符错误,可能编码错误"
我已经尝试过使用stripslashes,删除BOM,html_entities,删除一些初始字符,但没有一个有效。
答案 0 :(得分:1)
您必须将“Accept-Encoding”标头设置为“gzip,deflate”,否则会截断响应。
$httpResponse = drupal_http_request('http://api.champion.gg/stats?api_key=851a15d4f271849f3beee664ea03db3b', array('Accept-Encoding' => 'gzip, deflater'));
$data = gzdecode($httpResponse->data);