阿里云的api获取了结果后 如何使用?【小白问题】

「已注销」 2017-09-25 11:47:16

<?php
$host = "https://dm-81.data.aliyun.com";
$path = "/rest/160601/ip/getIpInfo.json";
$method = "GET";
$appcode = "08b0400dd5e9477c88ec46******a019ff911c";
$headers = array();
array_push($headers, "Authorization:APPCODE " . $appcode);
$querys = "ip=122.224.6.2";
$bodys = "";
$url = $host . $path . "?" . $querys;

$curl = curl_init();
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curl, CURLOPT_FAILONERROR, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HEADER, true);

if (1 == strpos("$".$host, "https://"))
{
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
}

var_dump(curl_exec($curl));

?>


以上是调用阿里云的api--获取ip地址的归属地,其中为了安全,我把appcode 已经隐藏了。

以上代码获取的结果如下:

D:\wamp64\www\api\index.php:26:string 'HTTP/1.1 200 OK

Server: Tengine

Date: Mon, 25 Sep 2017 03:45:57 GMT

Content-Type: application/json;charset=UTF-8

Content-Length: 250

Connection: keep-alive

Access-Control-Allow-Origin: *

Access-Control-Allow-Methods: GET,POST,PUT,DELETE,HEAD,OPTIONS,PATCH

Access-Control-Allow-Headers: X-Requested-With,X-Sequence,X-Ca-Key,X-Ca-Secret,X-Ca-Version,X-Ca-Timestamp,X-Ca-Nonce,X-Ca-API-Key,X-Ca-Stage,X-Ca-Client-DeviceId,X-Ca-Client-AppId,X-Ca-Signature,X-Ca-Signature-Headers,X-Forwarded-For,X-Ca-Date,X-Ca-Request-Mode,Authorization,Content-Type,Accept,Accept-Ranges,Cache-Control,Range,Content-MD5

Access-Control-Max-Age: 172800

X-Ca-Request-Id: 0E3F6157-473A-4CB4-8847-188CB9CA2262

EagleEye-TraceId: 0bb6122215063111575575730ea4fc

Strict-Transport-Security: max-age=31536000

Timing-Allow-Origin: *



{"code":0,"data":{"area":"华东","area_id":"300000","city":"绍兴市","city_id":"330600","country":"中国","country_id":"CN","county":"","county_id":"","ip":"122.224.6.2","isp":"电信","isp_id":"100017","region":"浙江省","region_id":"330000"}}' (length=1066)



请问我如何调用json中具体的字段啊,我只想获取 浙江省、绍兴市 然后赋予变量 再显示出来?求高手指点,我是菜鸟。
...全文
804 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuzuning 2017-09-25
  • 打赏
  • 举报
回复 1
curl_setopt($curl, CURLOPT_HEADER, false); //不返回 http 头 $json = curl_exec($curl); //获取返回的 json $data = json_decode($json, true); // 将返回的 json 解码成数组 print_r($data); // 看一下 难道你连访问数组成员都不会?!
「已注销」 2017-09-25
  • 打赏
  • 举报
回复
引用 1 楼 xuzuning 的回复:
解码后直接按键名获取
版主可以给个代码吗?我自己写的出不来效果。谢谢
xuzuning 2017-09-25
  • 打赏
  • 举报
回复
解码后直接按键名获取
「已注销」 2017-09-25
  • 打赏
  • 举报
回复
引用 3 楼 xuzuning 的回复:
curl_setopt($curl, CURLOPT_HEADER, false); //不返回 http 头 $json = curl_exec($curl); //获取返回的 json $data = json_decode($json, true); // 将返回的 json 解码成数组 print_r($data); // 看一下 难道你连访问数组成员都不会?!
谢谢版主,已经搞定了, 数组成员访问我会,呵呵

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧