PHP学习笔记:利用百度api实现手机归属地查询
2016-09-23 17:51
701 查看
从来没有用过api,都不知道怎么获得api的数据,跟着demo,然后修改,终于实现了手机号码查询的功能,代码和说明很全,大家试试。
效果展示:
有时间我会考虑写个带数据库的版本。
<?php /** * Created by jianqingwang * User: Administrator * Date: 2016/9/10 0010 * Time: 22:49 * 查询手机归属地 */ header("Content-type: text/html; charset=utf-8"); //传入查询的电话 //$phoneNum=$_GET['phoneNum']; $phoneNum='18807457777'; //查询电话号码归属地函数,大家可以直接拿来用 function checkPhone($phoneNum){ //下面开始百度的demo $ch = curl_init(); //或者采用这种方式: $url = "http://apis.baidu.com/apistore/mobilenumber/mobilenumber?phone=$phoneNum"; $url = 'http://apis.baidu.com/apistore/mobilenumber/mobilenumber?phone='.$phoneNum; $header = array( 'apikey:密匙账号',//这个是我的密匙账号,各位可以到百度官网申请
//百度api官方http://apistore.baidu.com/astore/toolshttpproxy?apiId=usu9zw&isAworks=1 ); // 添加apikey到header curl_setopt($ch, CURLOPT_HTTPHEADER , $header); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // 执行HTTP请求 curl_setopt($ch , CURLOPT_URL , $url); //百度api的demo结束 //对返回的数据进行转码,确保数据为utf-8 $data=iconv('GB2312','UTF-8', curl_exec($ch)); //对返回的数据转码,把json转为数组,后面的true如果没加上会变成对象,各位可以先打印输出下,看下它的结构 $res = json_decode(curl_exec($ch),true); $phone=$res['retData']['phone']; $prefix=$res['retData']['prefix']; $supplier=$res['retData']['supplier']; $province= $res['retData']['province']; $city= $res['retData']['city']; $suit=$res['retData']['suit']; //把查询的数据转为数组返回 $checkData[0]=$phone;//查询的电话号码 $checkData[1]=$prefix;//卡的号段,可以存起来以后数据大了可以直接采用号段来查询电话归属地 $checkData[2]=$supplier;//卡的运营商,如中国移动 $checkData[3]=$province;//卡的归属省份 $checkData[4]=$city;//卡的归属城市 $checkData[5]=$suit;//卡的类型,比如:157卡 return $checkData;//返回查询后的数据,为了方便返回多个数据,采用数组 } $myPhoneData=checkPhone($phoneNum); echo $myPhoneData[0]."归属号段".$myPhoneData[1]."运营商".$myPhoneData[2]."归属省份".$myPhoneData[3]."归属城市".$myPhoneData[4]."卡的类型".$myPhoneData[5];;//输出查询结果 ?>
效果展示:
有时间我会考虑写个带数据库的版本。
相关文章推荐
- php学习笔记:利用递归实现删除文件目录
- php利用百度javascript API实现导航
- php学习笔记:利用gd库生成图片,并实现随机验证码
- PHP实现源代码学习笔记
- PHP学习笔记 2009-8-22 用JavaScript实现删除确认
- Objective-C学习笔记 利用协议实现回调函数
- php学习笔记(十三)时间处理与日历的实现
- (ios开发学习笔记四)利用toolbar实现多窗体跳转
- 孙鑫VC学习笔记:第十六讲 (二) 利用关键代码段实现线程间的同步
- Effective C# 学习笔记(四十一)使利用DynamicObject或IDynamicMetaObjectProvider接口实现数据驱动的动态类型
- android定时定位 - 利用百度定位API来实现定时定位功能
- android定时定位 - 利用百度定位API来实现定时定位功能
- R语言与马克维茨资产组合理论学习笔记(利用fportfolio包实现)
- PHP高级应用学习笔记之——利用header()函数设置浏览器缓存
- 算法导论学习笔记(4)——利用链接法实现哈希表
- 孙鑫VC学习笔记:第十六讲 利用关键代码段实现线程间的同步
- PHP学习笔记 用超链接实现在本页面显示不同信息
- 利用php代码实现关键字百度排名批量查询
- php学习笔记 数组遍历实现代码
- PHP学习笔记【18】--PHP防盗链实现