欢迎关注大数据技术架构与案例微信公众号:过往记忆大数据
过往记忆博客公众号iteblog_hadoop
欢迎关注微信公众号:
过往记忆大数据

过往记忆博客免费手机归属地API

本博客收集的手机号段截止时间为2020年03月的,共计450000+条。包含以下字段:

电信:133 153 173(新) 177 (新) 180 181 189 199 (新)
移动:134 135 136 137 138 139 150 151 152 157 158 159 172(新) 178(新) 182 183 184 187 188 198(新)
联通:130 131 132 155 156 166(新) 175(新) 176(新) 185 186
数据卡:145 147 149
其他:170(新) 171 (新)

API地址

/api/mobile.php

使用

API可以通过GET和POST方式请求来直接查询手机归属地信息。接收的参数为mobile,其值是需要查询的手机号码;可以是手机的前7位,也可以是完整的11位手机。如下:
/api/mobile.php?mobile=1388888
或者
/api/mobile.php?mobile=13888888888
两种情况都是输入以下的结果:

{
    "ID": "88886", 
    "prefix": "1388888", 
    "province": "云南", 
    "city": "昆明", 
    "operator": "中国移动", 
    "areaCode": "0871", 
    "zip": "650000", 
    "ret": 0, 
    "searchStr": "13888888888", 
    "from": "/api/mobile.php", 
    "ip": "192.99.63.235", 
    "ua": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.106 Safari/537.36"
}

大家也可以微信关注下面小程序即可体验:

微信小程序
如果想及时了解Spark、Hadoop或者Hbase相关的文章,欢迎关注微信公共帐号:iteblog_hadoop
  查询在将结果转换成Json的时候,使用到了php中的json_encode函数,其将结果中的中文全部转换成Unicode字符。如下:

{
    "ID": "18889", 
    "prefix": "1318888", 
    "province": "\u5c71\u4e1c", 
    "city": "\u6d4e\u5357", 
    "operator": "\u4e2d\u56fd\u8054\u901a", 
    "areaCode": "0531", 
    "zip": "250000", 
    "ret": 0, 
    "searchStr": "13188888888", 
    "from": "/api/mobile.php", 
    "ip": "192.99.63.235", 
    "ua": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.106 Safari/537.36"
}

虽然说PHP现在可以通过加上JSON_UNESCAPED_UNICODE来避免这种情况,但是这个特性需要PHP 5.4.x版本的支持,目前我服务器使用的是PHP 5.3.3,所有无法使用此特性。不过如果我们直接将结果显示在页面上可以不处理这些Unicode字符;即使需要解析Unicode字符,也很容易的。下面是一个将Unicode字符转换成中文的实例:

static final Pattern reUnicode = Pattern.compile("\\\\u([0-9a-zA-Z]{4})");

public static String decode1(String s) {
    Matcher m = reUnicode.matcher(s);
    StringBuffer sb = new StringBuffer(s.length());
    while (m.find()) {
        m.appendReplacement(sb,
                Character.toString((char) Integer.parseInt(m.group(1), 16)));
    }
    m.appendTail(sb);
    return sb.toString();
}

System.out.println(unicodeToChinese("\\u4e2d\\u56fd\\u8054\\u901a"));

上面将输出中国移动

输出格式是Json形式,各个字段的含义如下表:

字段含义
ID数据库的自增ID
prefix查询的手机号码前7位
province手机号码所属省份
city手机号码所属城市
operator手机号码运营商
areaCode手机号码所属城市区号
zip手机号码所属城市邮编
ret返回结果成功标识。1代表失败;0代表成功
searchStr搜索的手机号码
fromapi地址
ip查询客户端IP
ua浏览器User-Agent

错误情况

1、如果用户输入的字符串不是手机号码或者少于7位或者大于11位,那么会出现以下的错误:

{
    "ret": 1, 
    "msg": "iteblog不是有效的手机号码", 
    "from": "/api/mobile.php"
}

2、如果用户输入的手机在库里面没有查询到,则返回以下的信息:

{
    "ret": 1, 
    "msg": "没有找到1234567的手机归属地信息", 
    "from": "/api/mobile.php"
}

3、如果用户没有传入任何的查询参数,则

{
    "ret": 1, 
    "msg": "没有输入手机号", 
    "from": "/api/mobile.php"
}

限制

每个IP每天限制访问100次,如果有特殊需求,请在本文评论或者联系wyphao.2007@163.com。

购买

如需要,请发邮件到 wyphao.2007@163.com 咨询购买。

本博客文章除特别声明,全部都是原创!
原创文章版权归过往记忆大数据(过往记忆)所有,未经许可不得转载。
本文链接: 【过往记忆博客免费手机归属地API】(https://www.iteblog.com/archives/1727.html)
喜欢 (15)
分享 (0)
发表我的评论
取消评论

表情
本博客评论系统带有自动识别垃圾评论功能,请写一些有意义的评论,谢谢!