• 关于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>
  • 相关阅读:
    Linux文件系统(三)虚拟文件系统
    Linux文件系统(二)磁盘文件系统
    requests模块
    jquery进阶(文档操作,事件委托等)
    JQuery基本使用
    js基础和js操作bom和dom对象
    js -- javascript
    CSS
    HTML
    python之pymysql模块
  • 原文地址:https://www.cnblogs.com/shandayuan/p/7496870.html
Copyright © 2020-2023  润新知