从来没有用过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实现手机归属地查询的更多相关文章

  1. 利用百度API Store接口进行火车票查询

    火车票查询 项目源码下载链接: Github:https://github.com/VincentWYJ/TrainTicketQuery 博客文件:http://files.cnblogs.com/ ...

  2. Hadoop学习笔记—5.自定义类型处理手机上网日志

    转载自http://www.cnblogs.com/edisonchou/p/4288737.html Hadoop学习笔记—5.自定义类型处理手机上网日志 一.测试数据:手机上网日志 1.1 关于这 ...

  3. golang学习笔记10 beego api 用jwt验证auth2 token 获取解码信息

    golang学习笔记10 beego api 用jwt验证auth2 token 获取解码信息 Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放 ...

  4. 利用百度API(JavaScript 版)实现在地图上绘制任一多边形,并判断给定经纬度是否在多边形范围内。以及两点间的测距功能

    权声明:本文为博主原创文章,未经博主允许不得转载. 利用百度API(JavaScript 版)实现在地图上绘制任一多边形,并判断给定经纬度是否在多边形范围内.以及两点间的测距功能. 绘制多边形(蓝色) ...

  5. Objective-C学习笔记 利用协议实现回调函数

    来源:http://mobile.51cto.com/iphone-278354.htm Objective-C学习笔记 利用协议实现回调函数是本文要介绍的内容,主要是实现一个显示文字为测试的视图,然 ...

  6. ZooKeeper学习笔记二:API基本使用

    Grey ZooKeeper学习笔记二:API基本使用 准备工作 搭建一个zk集群,参考ZooKeeper学习笔记一:集群搭建. 确保项目可以访问集群的每个节点 新建一个基于jdk1.8的maven项 ...

  7. Flink学习笔记:Flink API 通用基本概念

    本文为<Flink大数据项目实战>学习笔记,想通过视频系统学习Flink这个最火爆的大数据计算框架的同学,推荐学习课程: Flink大数据项目实战:http://t.cn/EJtKhaz ...

  8. flink学习笔记:DataSream API

    本文为<Flink大数据项目实战>学习笔记,想通过视频系统学习Flink这个最火爆的大数据计算框架的同学,推荐学习课程: Flink大数据项目实战:http://t.cn/EJtKhaz ...

  9. 【EF6学习笔记】(三)排序、过滤查询及分页

    本篇原文地址:Sorting, Filtering, and Paging 说明:学习笔记参考原文中的流程,为了增加实际操作性,并能够深入理解,部分地方根据实际情况做了一些调整:并且根据自己的理解做了 ...

随机推荐

  1. 旧文—冬日感怀

    冬日感怀   下雪了,虽不大,可那雪花落在手上,融在心里,便泛起淡淡的温柔,因为这是冬日的馈赠啊,是上苍的礼物,是往昔记忆的灰烬化作天地间的精灵装点纷繁琐碎的世界.于是,透过汽车上雾气氤氲的玻璃窗,人 ...

  2. saiku 元数据存储分析

    一.介绍 使用saiku的人一定对他的元数据存储都特别感兴趣,特别是有分布式管理需求的项目,更是迫切需要了解.其实它是使用Apache的开源项目Jackrabbit管理文件的! 二.代码跟踪 我也是使 ...

  3. 模拟登录神器之PHP基于cURL实现自动模拟登录类

    一.构思 从Firefox浏览器拷贝cURL命令(初始页.提交.提交后) 自动分析curl形成模拟登录代码 默认参数:ssl/302/gzip 二.实现 接口 (一)根据curl信息执行并解析结果 p ...

  4. Qt编写自定义控件二动画按钮

    现在的web发展越来越快,很多流行的布局样式,都是从web开始的,写惯了Qt widgets 项目,很多时候想改进一下现有的人机交互,尤其是在现有的按钮上加一些动画的效果,例如鼠标移上去变大,移开还原 ...

  5. ubuntu安装php mcrypt扩展

    1.安装扩展 sudo apt-get install php5-mcrypt 2.添加扩展配置文件 apt-get没有在/etc/php5/cli/conf.d/和/etc/php5/fpm/con ...

  6. 清除SQL数据库的日志

    ALTER DATABASE [Fuliu_Test] SET RECOVERY SIMPLEALTER DATABASE [Fuliu_Test] SET RECOVERY FULLDBCC SHR ...

  7. Marven笔记贴

    本篇只是作为自学Marven的笔记贴,基本上都是网上的各种资料的汇总,方便自己和需要的人,不用一个个去找浪费时间了. 什么是Marven You want to start with a projec ...

  8. ServiceStack 介绍

    关于ServiceStack ServiceStack 官网介绍: Opensource .NET and Mono REST Web Services framework 什么是 ServiceSt ...

  9. Hadoop入门进阶课程9--Mahout介绍、安装与应用案例

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,博主为石山园,博客地址为 http://www.cnblogs.com/shishanyuan  ...

  10. 从IE6到IE11上运行WebGL 3D遇到的各种坑

    这篇<基于HTML5的电信网管3D机房监控应用>基于WebGL技术的应用让少同学对HTML5 3D的应用产生了兴趣和信心,但有不少网友私信询问WebGL如何运行在老的IE678910浏览器 ...