本博客收集的手机号段截止时间为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可以通过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" }
大家也可以微信关注下面小程序即可体验:
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 | 搜索的手机号码 |
from | api地址 |
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)