本博客收集的手机号段截止时间为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)


