PHP学习笔记:利用百度api实现手机归属地查询
从来没有用过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学习笔记:利用百度api实现手机归属地查询的更多相关文章
- 利用百度API Store接口进行火车票查询
火车票查询 项目源码下载链接: Github:https://github.com/VincentWYJ/TrainTicketQuery 博客文件:http://files.cnblogs.com/ ...
- Hadoop学习笔记—5.自定义类型处理手机上网日志
转载自http://www.cnblogs.com/edisonchou/p/4288737.html Hadoop学习笔记—5.自定义类型处理手机上网日志 一.测试数据:手机上网日志 1.1 关于这 ...
- golang学习笔记10 beego api 用jwt验证auth2 token 获取解码信息
golang学习笔记10 beego api 用jwt验证auth2 token 获取解码信息 Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放 ...
- 利用百度API(JavaScript 版)实现在地图上绘制任一多边形,并判断给定经纬度是否在多边形范围内。以及两点间的测距功能
权声明:本文为博主原创文章,未经博主允许不得转载. 利用百度API(JavaScript 版)实现在地图上绘制任一多边形,并判断给定经纬度是否在多边形范围内.以及两点间的测距功能. 绘制多边形(蓝色) ...
- Objective-C学习笔记 利用协议实现回调函数
来源:http://mobile.51cto.com/iphone-278354.htm Objective-C学习笔记 利用协议实现回调函数是本文要介绍的内容,主要是实现一个显示文字为测试的视图,然 ...
- ZooKeeper学习笔记二:API基本使用
Grey ZooKeeper学习笔记二:API基本使用 准备工作 搭建一个zk集群,参考ZooKeeper学习笔记一:集群搭建. 确保项目可以访问集群的每个节点 新建一个基于jdk1.8的maven项 ...
- Flink学习笔记:Flink API 通用基本概念
本文为<Flink大数据项目实战>学习笔记,想通过视频系统学习Flink这个最火爆的大数据计算框架的同学,推荐学习课程: Flink大数据项目实战:http://t.cn/EJtKhaz ...
- flink学习笔记:DataSream API
本文为<Flink大数据项目实战>学习笔记,想通过视频系统学习Flink这个最火爆的大数据计算框架的同学,推荐学习课程: Flink大数据项目实战:http://t.cn/EJtKhaz ...
- 【EF6学习笔记】(三)排序、过滤查询及分页
本篇原文地址:Sorting, Filtering, and Paging 说明:学习笔记参考原文中的流程,为了增加实际操作性,并能够深入理解,部分地方根据实际情况做了一些调整:并且根据自己的理解做了 ...
随机推荐
- 旧文—冬日感怀
冬日感怀 下雪了,虽不大,可那雪花落在手上,融在心里,便泛起淡淡的温柔,因为这是冬日的馈赠啊,是上苍的礼物,是往昔记忆的灰烬化作天地间的精灵装点纷繁琐碎的世界.于是,透过汽车上雾气氤氲的玻璃窗,人 ...
- saiku 元数据存储分析
一.介绍 使用saiku的人一定对他的元数据存储都特别感兴趣,特别是有分布式管理需求的项目,更是迫切需要了解.其实它是使用Apache的开源项目Jackrabbit管理文件的! 二.代码跟踪 我也是使 ...
- 模拟登录神器之PHP基于cURL实现自动模拟登录类
一.构思 从Firefox浏览器拷贝cURL命令(初始页.提交.提交后) 自动分析curl形成模拟登录代码 默认参数:ssl/302/gzip 二.实现 接口 (一)根据curl信息执行并解析结果 p ...
- Qt编写自定义控件二动画按钮
现在的web发展越来越快,很多流行的布局样式,都是从web开始的,写惯了Qt widgets 项目,很多时候想改进一下现有的人机交互,尤其是在现有的按钮上加一些动画的效果,例如鼠标移上去变大,移开还原 ...
- ubuntu安装php mcrypt扩展
1.安装扩展 sudo apt-get install php5-mcrypt 2.添加扩展配置文件 apt-get没有在/etc/php5/cli/conf.d/和/etc/php5/fpm/con ...
- 清除SQL数据库的日志
ALTER DATABASE [Fuliu_Test] SET RECOVERY SIMPLEALTER DATABASE [Fuliu_Test] SET RECOVERY FULLDBCC SHR ...
- Marven笔记贴
本篇只是作为自学Marven的笔记贴,基本上都是网上的各种资料的汇总,方便自己和需要的人,不用一个个去找浪费时间了. 什么是Marven You want to start with a projec ...
- ServiceStack 介绍
关于ServiceStack ServiceStack 官网介绍: Opensource .NET and Mono REST Web Services framework 什么是 ServiceSt ...
- Hadoop入门进阶课程9--Mahout介绍、安装与应用案例
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,博主为石山园,博客地址为 http://www.cnblogs.com/shishanyuan ...
- 从IE6到IE11上运行WebGL 3D遇到的各种坑
这篇<基于HTML5的电信网管3D机房监控应用>基于WebGL技术的应用让少同学对HTML5 3D的应用产生了兴趣和信心,但有不少网友私信询问WebGL如何运行在老的IE678910浏览器 ...