欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

查询电话号码归属地的PHP接口(处理过可供前端使用的)

程序员文章站 2022-05-19 11:58:37
...

好吧,作为一个前端程序猿,想要真实的从后端获取数据,硬着头皮学了一天多的PHP,终于把从第三方获取的PHP接口修改成了可以供前端使用的代码,嗯,中间踩了多少坑,就不说了,总之,分享出来,如果你们也和我一样,还在学习阶段,又想要获取真实的PHP数据,希望能帮到您(个人觉得,一个会了,其他的都类似)

如果想要详细学习怎样将第三方获取的PHP接口修改后供前端使用,这里推荐一个我在腾讯课堂上找到的视频(老师讲的很好,就是有一些不知道什么原因效果出不来还报错,可能需要修改一些代码)我下面的是效果已经出来了

https://ke.qq.com/course/298281#term_id=100353517

js代码:

    $(function(){
        $('#btn').click(function(){
            var phone = $('#tex').val();
            // console.log(phone)
           $.post('news1.php',{phone:phone},function(res){
               console.log(res);
           },'json');
        })
    });
js代码根据个人需要修改哈

PHP代码:

<?php
header('Content-type:text/html; charset="utf-8"');
    $_POST['phone'] = isset($_POST['phone']) ?$_POST['phone']:'';
     $phone = $_POST['phone'];

    $host = "https://api04.aliyun.venuscn.com";
    $path = "/mobile";
    $method = "GET";
    $appcode = "1c97d9e8fe17410987052c6ced218189";
    $headers = array();
    array_push($headers, "Authorization:APPCODE " . $appcode);
    $querys = "mobile=" . $phone;
    $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);
    }
    $content = curl_exec($curl);
    $header_size = curl_getinfo($curl,CURLINFO_HEADER_SIZE);
    $bodys = substr($content,$header_size);
    $res = json_decode($bodys,true);
//    echo '<pre>';
//    print_r($res);
    if($res['ret']==200){
          //说明查询成功
          $data = array(
            'status'=>1,'msg'=>'查询成功',
            'data'=>array(
              'types'=>$res['data']['types'],
              'area'=>$res['data']['prov'].'/'.$res['data']['city'],
              'zip_code'=>$res['data']['zip_code'],
              'city_code'=>$res['data']['city_code'],
            ),
          );
//  echo '<pre>';
//    print_r($data);
    }else{
         $data = array(
             'status'=>0,
              'msg'=>$res['msg'],
              'data'=>'',
         );

    }
    echo json_encode($data);
?>