2 sinat 32635107 sinat_32635107 于 2016.04.04 10:12 提问

PHP CURL 获取高德web API 时返回不全

我直接使用地址栏返回的内容是这样的:
{"status":"1","info":"OK","infocode":"10000","count":"1","geocodes":[{"formatted_address":"北京市朝阳区阜通东大街|6号","province":"北京市","citycode":"010","city":"北京市","district":"朝阳区","township":[],"neighborhood":{"name":[],"type":[]},"building":{"name":[],"type":[]},"adcode":"110105","street":[],"number":[],"location":"116.481229,39.990400","level":"门牌号"}]}
但使用php CRUL 返回的只有:{"status":"1","info":"OK","infocode":"10000","count":"0","geocodes":[]}
geocodes里面的内容没有
这是我的php后台代码片段
$requesturl="http://restapi.amap.com/v3/geocode/geo?address=北京市朝阳区阜通东大街6号&output=json&key=8ca8e28cdd92fed465d899e4798cff39";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $requesturl);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
$info=curl_exec($ch);
curl_close($ch);
echo json_decode($info, true);

2个回答

u012228558
u012228558   2016.04.05 13:57
已采纳

你的代码没有问题,可以运行并获得数据,应该是你的文件编码格式出错了,你看看你的文件是不是gbk的

u012228558
u012228558 回复sinat_32635107: 不好意思最近没上,文件编码用编辑器就可以改,一般改单个文件就行
一年多之前 回复
sinat_32635107
sinat_32635107 回复龙之末图: 不知您接触没接触过thinkphpMVC框架 在thinkphp中怎么改文件编码格式,还是说就把那个控制器的文件格式改了就好
一年多之前 回复
u012228558
u012228558 少说了一句,接口返回的是JSON字符串,Json的中文是utf-8的
一年多之前 回复
oyljerry
oyljerry   Ds   Rxr 2016.04.05 10:03

看看是不是user agent等没有配置好 先看看浏览器发送请求提交了哪些数据 尤其httpheader

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!