php实现API接口的代码,能过百度的API接口实现用获取城市名的功能,是学习PHP API开发的不错实例.可以研究一下,这种方式可以结合网站,微信,手机都可以调用,不用再写原生PHP程序再去访问后端数据库

 

/*百度API 通过IP获取相应的城市*/

       $ip=$_SERVER["HTTP_CLIENT_IP"]);

       $link='http://api.map.baidu.com/location/ip?ak=ZeDp7DTFVGS5fXiKhXRoTLl7&ip='.$ip;
        $url=postget($link);
        $ip_data = json_decode($url); //json格式解码
        $data=(array)$ip_data;  //转换为数组供程序调用

        if($data['code']){
            $city='未知';
        }else{
            $info=$data['content']->address_detail;
            $city=$data['content']->address_detail->city;
        }

 


    /*
        ***用Curl的方式请求接口,返回JSON数据
        ***@url:接口地址
        ***@params:传递的参数
        ***@ispost:是否以POST提交,默认GET
    */
    function postget($url,$params=false,$ispost=0){
        $httpInfo = array();
        $ch = curl_init();
        curl_setopt( $ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_0 );
        curl_setopt( $ch, CURLOPT_USERAGENT , 'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22' );
        curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT , 30 );
        curl_setopt( $ch, CURLOPT_TIMEOUT , 30);
        curl_setopt( $ch, CURLOPT_RETURNTRANSFER , true );
        if( $ispost )
        {
            curl_setopt( $ch , CURLOPT_POST , true );
            curl_setopt( $ch , CURLOPT_POSTFIELDS , $params );
            curl_setopt( $ch , CURLOPT_URL , $url );
        }
        else
        {
            if($params){
                curl_setopt( $ch , CURLOPT_URL , $url.'?'.$params );
            }else{
                curl_setopt( $ch , CURLOPT_URL , $url);
            }
        }
        $response = curl_exec( $ch );
        if ($response === FALSE) {
            #echo "cURL Error: " . curl_error($ch);
            return false;
        }
        $httpCode = curl_getinfo( $ch , CURLINFO_HTTP_CODE );
        $httpInfo = array_merge( $httpInfo , curl_getinfo( $ch ) );
        curl_close( $ch );
        return $response;
    }

稳定

产品高可用性高并发

贴心

项目群及时沟通

专业

产品经理1v1支持

快速

MVP模式小步快跑

承诺

我们选择声誉

坚持

10年专注高端品质开发
  • 返回顶部