关于API
Posted 单大源
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于API相关的知识,希望对你有一定的参考价值。
因为程序的有些数据我们是无法获取的,所以这些数据如果我们想用的话,必须从网上来找别人的接口来使用,比如像一些权威的数据,例:天气预报,快递的查询,淘宝网里面商品的一些信息等等。可能说这些内容我们自己是无法找到这些数据的,如果想用这些数据的话,必须要从它提供的一个接口里面来获取到数据,比如我们要获取天气预报的数据,这些数据我们要从网上,或者气象局提供的这个接口来获取。所以有些比较专业的数据我们是要从别的地方去取的。这种东西我们在网上把它称作接口。指的是网上提供的数据接口,从网上进行访问来获取到我们想要的数据。这个接口也叫做API。
我们需要给一个网站发一个请求过去,发一个请求过去之后呢还要传入相应的参数,比如说天气预报的,我要获取哪一个城市的天气预报,你必须要把城市当作一个参数发送过去,发送过去之后呢,这个网站经过处理之后把你想要的数据给你返回出来,然后你收到这个返回结果之后就可以去解析返回的数据,并且拿过来使用了。所以说流程就是这样的,一开始我们先发送请求,并且带参数过去然后它接收到参数之后执行完,把数据返回给我们,然后我们再解析数据就可以使用了。
接收到的数据一般来说接口的提供商有两种数据返回的类型。一种数据是JSON数据。另外一种数据是XML数据。也就是接口一般提供的两种返回数据的类型。
<?php header("content-Type: text/html; charset=Utf-8"); //获取文件内容(除了可以获取本地的还可以获取远程的) $data = file_get_contents("http://f.apiplus.net/ssq-10.json"); $arr = json_decode($data); //这个$arr是个option对象。所以需要调用 foreach($arr->data as $v){ echo $v->opencode."<br>"; } ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题文档</title> </head> <body> <?php header("Content-Type:text/html;charset=UTF-8"); date_default_timezone_set("PRC"); $showapi_appid = ‘45822‘; //替换此值,在官网的"我的应用"中找到相关值 $showapi_secret = ‘3a82573c9fe34500a167607558b95e51‘; //替换此值,在官网的"我的应用"中找到相关值 $paramArr = array( ‘showapi_appid‘=> $showapi_appid, ‘areaid‘=> "", ‘area‘=> "淄博", ‘needMoreDay‘=> "", ‘needIndex‘=> "", ‘needHourData‘=> "", ‘need3HourForcast‘=> "", ‘needAlarm‘=> "" //添加其他参数 ); //创建参数(包括签名的处理) function createParam ($paramArr,$showapi_secret) { $paraStr = ""; $signStr = ""; ksort($paramArr); foreach ($paramArr as $key => $val) { if ($key != ‘‘ && $val != ‘‘) { $signStr .= $key.$val; $paraStr .= $key.‘=‘.urlencode($val).‘&‘; } } $signStr .= $showapi_secret;//排好序的参数加上secret,进行md5 $sign = strtolower(md5($signStr)); $paraStr .= ‘showapi_sign=‘.$sign;//将md5后的值作为参数,便于服务器的效验 return $paraStr; } $param = createParam($paramArr,$showapi_secret); $url = ‘http://route.showapi.com/9-2?‘.$param; $result = file_get_contents($url); $result = json_decode($result); var_dump($result); //解析的过程就看显示的结果就行 看见谁调用谁 ?> </body> </html>
以上是关于关于API的主要内容,如果未能解决你的问题,请参考以下文章
关于js----------------分享前端开发常用代码片段
Android 插件化VirtualApp 源码分析 ( 目前的 API 现状 | 安装应用源码分析 | 安装按钮执行的操作 | 返回到 HomeActivity 执行的操作 )(代码片段