本站获取手机号码归属地的API
写的一个查询手机号码归属地的api接口供需要的朋友使用,下面公开api代码及使用方法和示例
<?php /* * author sugar * version 1.6.618 * date 2016-6-18 15:00 * description: 获取手机号码归属地 */ header('content-type:text/html;charset=utf-8'); if (is_file($_SERVER['DOCUMENT_ROOT'] . '/config/configure.php')) { require_once $_SERVER['DOCUMENT_ROOT'] . '/config/configure.php'; } if(is_array($_GET)&&count($_GET)>0)//判断是否有Get参数 { if(isset($_GET["number"]))//判断所需要的参数是否存在,isset用来检测变量是否设置,返回true or false { if(preg_match("/^1[34578]d{9}$/", $_GET["number"])){ //查询归属地 $code=0;//号码通过 }else{ $code=2;//号码未通过 } }else{ $code=1;//变量未设置 } }else{ exit; } switch ($code){ case 0://查询 echo get_phonearea($_GET["number"]); break; case 1://参数错误 $json_phonearea = array ("code"=>"$code"); echo json_encode($json_phonearea); break; case 2://号码异常 $json_phonearea = array ("code"=>"$code"); echo json_encode($json_phonearea); break; default: echo "params is error"; } // 数据查询返回值 function get_phonearea($num) { $isp_code=substr($_GET["number"], 0, 3); //服务商前三位 $province_code=substr($_GET["number"], 3, 2); //省级四五两位 $city_code=substr($_GET["number"], 5, 2); //市级六七两位 //实例化数据连接类 $li = new dblink(); //$li->conn(); $sql = "SELECT `province`,`city`,`isp` FROM `local_pnumber` WHERE province_code='{$province_code}' AND city_code='{$city_code}' AND isp_code='{$isp_code}'";//查询数据 $query = mysql_query($sql,$li->conn()); if ($query === false) { exit; } //取数组 while($row = mysql_fetch_array($query)) { $province = $row["province"]; $city = $row["city"]; $isp = $row["isp"]; } $json_phonearea = array ( "code"=>"0", "data" => array("province" => "$province", "city" => "$city", "isp" => "$isp") ); return json_encode($json_phonearea); } // 封装一个数据库连接类 class dblink { public function conn() { //--------------数据操作--------------- /*连接数据库所需要的五要素(可从数据库详情页中查到相应信息)*/ $dbname = ServiceConf::$mysql_cfg['dbname']; $host = ServiceConf::$mysql_cfg['host']; $port = ServiceConf::$mysql_cfg['port']; $user = ServiceConf::$aksk['ak']; $pwd = ServiceConf::$aksk['sk']; /*接着调用mysql_connect()连接服务器*/ $link = @mysql_connect("{$host}:{$port}", $user, $pwd, true); if (!$link) { die('Connect Server Failed: ' . 'mysql_error()'); } /*连接成功后立即调用mysql_select_db()选中需要连接的数据库*/ if (!mysql_select_db($dbname, $link)) { die('Select Database Failed: ' . "mysql_error({$link})"); } mysql_query("set names utf8"); //设置编码//防止中文乱码 return $link; } } ?>
1 协议说明
协议 | HTTP GET |
编码格式 | UTF8 |
URL | https://www.fesugar.com/get_phonearea |
接口说明 | 获取11位手机号码归属地 |
2 请求包体
包体为 HTTP GET 字符串,参数如下:
number=13800000000
3 应答包体
包体为json字符串,参数如下:
{
"code": "0", //状态码: 0 正常、1 参数错误、2 号码错误
"data": { //返回数据
"province": "北京", //省份
"city": "", //城市
"isp": "移动" //服务商
}
}
代码实例
下面是根据以上api接口写的一个 html 演示页
<!DOCTYPE HTML> <html lang="zh-CN"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>数据查询工具</title> <!-- jquery 1.7 js--> <script type="text/javascript" src="http://apps.bdimg.com/libs/jquery/1.7.0/jquery.min.js"></script> <!-- twitter-bootstrap js --> <script type="text/javascript" src="http://cdn.bootcss.com/twitter-bootstrap/3.2.0/js/bootstrap.min.js"></script> <script type="text/javascript"> $(document).ready(function(){ $("#btn").click(function(){ var action = $("#lg-form").attr('action'); var form_data = { number: jQuery.trim($("#Search_box").val()), is_ajax: 1 }; // 检测输入内容 if ( jQuery.trim($("#Search_box").val()) == "") { $("#message").html('<p>友情提示....</p><p class="error">搜索框不能为空,请输入完整!</p>'); $("#Search_box").focus(); return false; } // 传递参数 $.ajax({ type: "get", url: action, dataType: 'jsonp',//使用jsonp解决跨域访问问题 jsonp:"callback", jsonpCallback:"success_json", data: form_data, success: function(json) { if($.trim(json.code) == "0"){ $("#lg-form").slideUp('slow', function(){ $("#message").html( '<p>查询结果....</p><p class="success">归属地为:' + json.data.province + json.data.city + json.data.isp + '</p>'); }); } else if($.trim(json.code) == "1"){ $("#message").html('<p>查询结果....</p><p class="error">你输入的数据为空,请重试。</p>'); } else if($.trim(json.code) == "2"){ $("#message").html('<p>查询结果....</p><p class="error">你输入数据不合法,请重试。</p>'); } else{ $("#message").html('<p class="error">错误: 数据提交过程中发生未知异常.</p>'); } } }); return false; }); }); </script> <style type="text/css"> body{background-image:url(data:image/jpg;base64,/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAAAeAAD/4QMZaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjMtYzAxMSA2Ni4xNDU2NjEsIDIwMTIvMDIvMDYtMTQ6NTY6MjcgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjJCNEU2RjI4OTA4NTExRTY5NzY0ODM0ODQ0QzM4RTJFIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjJCNEU2RjI3OTA4NTExRTY5NzY0ODM0ODQ0QzM4RTJFIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgV2luZG93cyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSI1NDhBMzNDMzY4REUzMDM3RjM0OEY2MzQ4QTM3RjE0QyIgc3RSZWY6ZG9jdW1lbnRJRD0iNTQ4QTMzQzM2OERFMzAzN0YzNDhGNjM0OEEzN0YxNEMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7/7gAOQWRvYmUAZMAAAAAB/9sAhAAQCwsLDAsQDAwQFw8NDxcbFBAQFBsfFxcXFxcfHhcaGhoaFx4eIyUnJSMeLy8zMy8vQEBAQEBAQEBAQEBAQEBAAREPDxETERUSEhUUERQRFBoUFhYUGiYaGhwaGiYwIx4eHh4jMCsuJycnLis1NTAwNTVAQD9AQEBAQEBAQEBAQED/wAARCAAcABwDASIAAhEBAxEB/8QAYgABAQEBAAAAAAAAAAAAAAAAAQIABgEBAQEBAAAAAAAAAAAAAAAAAQIAAxAAAgECBQUAAAAAAAAAAAAAAAFxEQIhMUGBwWEiMiNDEQEAAwEAAAAAAAAAAAAAAAAAESEiEv/aAAwDAQACEQMRAD8A7hLvcIGsLZRk+9wjN4WyjWjpdMXBNPVToOrgK+rbkZMhebhGeVsoV5uEDytlHO1ZVq4J+W3JWrgn47cjZy//2Q==);background-position:center}.lg-container{width:auto;border:1px solid #f4f4f4;background:hsla(0,0%,100%,.5);border-radius:10px;box-shadow:0 0 2px #aaa;margin:20px 250px;padding:25px 200px}.lg-container h1{font-size:40px;text-align:center}#lg-form>div{margin:20px 8px;padding:5px 0}#lg-form label{display:none;font-size:20px;line-height:25px}#lg-form input[type=text],#lg-form textarea{border:1px solid rgba(51,51,51,.5);border-radius:10px;padding:10px;font-size:1pc;line-height:20px;width:100%;font-family:'serif',cursive;text-align:left;resize:none}#lg-form div:nth-child(3){text-align:center}#lg-form button{font-family:'serif',cursive;font-size:18px;border:1px solid #000;padding:5px 10px;border:1px solid rgba(51,51,51,.5);border-radius:10px;box-shadow:2px 1px 1px #aaa;cursor:pointer}#lg-form button:active{box-shadow:0 0 1px #aaa}#lg-form button:hover{background-color:#f4f4f4}#message{width:100%;text-align:center}.success{color:green}.error{color:red} </style> </head> <body> <div class="lg-container"> <h1>手机号码归属地查询<br/><span class="STYLE3">by Sugar.</span></h1> <form action="http://www.fesugar.com/get_phonearea" id="lg-form" name="lg-form" method="get"> <div class="table-striped"> <label for="Search_box">text box:</label> <input name="Search_box" type="text" id="Search_box" maxlength="20" placeholder="输入手机号码"/> </div> <div align="center"> <button type="submit" id="btn">进行查询</button> </div> </form> <div id="message"></div> </div> <!-- v1.8.9 --> </body> </html>