手机号码归属地查询 java_JAVA手机号码归属地查询
根据手机号码查询手机号码归属地,采用2种查询方式,如果第一种没查询到,则会自动使用第二种查询!
package com.brainlong.utils;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.StringReader;
import java.net.URL;
import java.net.URLConnection;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import org.w3c.dom.Document;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
public class MobileLocationUtil {
/**
* 归属地查询
* @param mobile
* @return mobileAddress
*/
@SuppressWarnings("unused")
private static String getLocationByMobile(final String mobile) throws ParserConfigurationException, SAXException, IOException{
String MOBILEURL = " http://www.youdao.com/smartresult-xml/search.s?type=mobile&q=";
String result = callUrlByGet(MOBILEURL + mobile, "GBK");
StringReader stringReader = new StringReader(result);
InputSource inputSource = new InputSource(stringReader);
DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();
Document document = documentBuilder.parse(inputSource);
if (!(document.getElementsByTagName("location").item(0) == null)) {
return document.getElementsByTagName("location").item(0).getFirstChild().getNodeValue();
}else{
return "无此号记录!";
}
}
/**
* 获取URL返回的字符串
* @param callurl
* @param charset
* @return
*/
private static String callUrlByGet(String callurl,String charset){
String result = "";
try {
URL url = new URL(callurl);
URLConnection connection = url.openConnection();
connection.connect();
BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream(),charset));
String line;
while((line = reader.readLine())!= null){
result += line;
result += "\n";
}
} catch (Exception e) {
e.printStackTrace();
return "";
}
return result;
}
/**
* 手机号码归属地
* @param tel 手机号码
* @return 135XXXXXXXX,联通/移动/电信,湖北武汉
* @throws Exception
* @author JIA-G-Y
*/
public static String getMobileLocation(String tel) throws Exception{
Pattern pattern = Pattern.compile("1\\d{10}");
Matcher matcher = pattern.matcher(tel);
if(matcher.matches()){
String url = "http://life.tenpay.com/cgi-bin/mobile/MobileQueryAttribution.cgi?chgmobile=" + tel;
String result = callUrlByGet(url,"GBK");
StringReader stringReader = new StringReader(result);
InputSource inputSource = new InputSource(stringReader);
DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();
Document document = documentBuilder.parse(inputSource);
String retmsg = document.getElementsByTagName("retmsg").item(0).getFirstChild().getNodeValue();
if(retmsg.equals("OK")){
String supplier = document.getElementsByTagName("supplier").item(0).getFirstChild().getNodeValue().trim();
String province = document.getElementsByTagName("province").item(0).getFirstChild().getNodeValue().trim();
String city = document.getElementsByTagName("city").item(0).getFirstChild().getNodeValue().trim();
if (province.equals("-") || city.equals("-")) {
return (tel + "," + supplier + ","+ getLocationByMobile(tel));
}else {
return (tel + "," + supplier + ","+ province + city);
}
}else {
return "无此号记录!";
}
}else{
return tel+ ":手机号码格式错误!";
}
}
}
手机号码归属地查询 java_JAVA手机号码归属地查询相关推荐
- 手机号归属地 java_JAVA手机号码归属地查询
根据手机号码查询手机号码归属地,采用2种查询方式,如果第一种没查询到,则会自动使用第二种查询! package com.brainlong.utils; import java.io.Buffered ...
- php 手机号归属地 dat,GitHub - china-qd/phonedata: 手机号码归属地信息库、手机号归属地查询 phone.dat 最后更新:2020年04月...
手机号码归属地信息库.手机号归属地查询 这可能是github上能找到的最新最全的中国境内手机号归属地信息库 基于GO语言实现,使用二分查找法. 归属地信息库文件大小:4,040,893 字节 归属地信 ...
- 好用的手机号码归属地、吉凶及号码估值查询API接口
最近用了爱淘号(www.ataohao.com)的手机号码信息查询接口,功能比较齐全,数据更新相对还算及时(现在就已经支持工信部上周新批的198.199等号段了),最关键的是完全免费. 爱淘号API接 ...
- php根据手机号区分地址,PHP判断手机号码归属地、获取手机号码归属地
PHP判断手机号码归属地.获取手机号码归属地: /** * 判断手机号码归属地 * @param string $phone * @param array $regions 省 * return bo ...
- 手机号归属地_【号码归属地查询工具】
本工具用于批量查询手机号码归属地信息. 数据需求 把要要查询的手机号码放到"号码清单"文件中,将清单文件放置与工具同目录下: 手机号码 18666793012 1379287108 ...
- python怎么查找代码位置查询_Python查询IP地址归属完整代码
本文实例为大家分享了Python查询IP地址归属的具体代码,供大家参考,具体内容如下 #!/usr/bin/env python # -*- coding: utf-8 -*- #查找IP地址归属地 ...
- 微信公众平台功能大杂烩 - ip/域名查询 车牌号归属地查询 手机归属地查询 公交查询 英汉互译...
我看到有些公众平台比如:海南大学 功能非常丰富,包含四六级成绩查询.自习室空位查询.小i机器人.天气查询.快递查询.笑话.火车查询.人品计算... 我实现了海南大学微信公众平台的部分功能,再根据自己需 ...
- 批量查询ip地址归属地教程
网上基本都是只能单个查询,这个可以批量查询,支持导出TXT和Excel,而且不限制数量.先上图 使用方法:(1)导入TXT(2)标准化(3)开始查询即可 如果需要请关注微信公众号未来自主研究中 ...
- php解析手机号 归属地,PHP通过API获取手机号码归属地,api手机号码_PHP教程
PHP通过API获取手机号码归属地,api手机号码 该API接口自 2011年 SAE平台上线稳定运行至今,增加了17号段的支持,欢迎各种采集注限制 并发10 详细使用说明 接口地址:http://a ...
- 航班信息管理系统java_java实现航班信息查询管理系统
本文实例为大家分享了java航班信息查询管理系统的具体代码,供大家参考,具体内容如下 Air Infomation System 基于控制台的航班信息系统,简称AIS 具体要求如下: (1)显示航班信 ...
最新文章
- mac下server开发环境配置
- Maven 连接私服资源库配置
- 信息安全系统第十三周学习总结 20135218 姬梦馨
- 《C++ Primer》2.11节练习
- 分号可以用来分段么_更高效的GMX分段模拟方法:修改tpr文件
- 解释一下全连接层CNN中全连接层是什么样的
- ios 数字键盘左下角添加按钮_IOS数字键盘左下角添加完成按钮的实现方法
- H3C IPv6地址配置命令
- csdn中让图片居中
- 计算平均成绩,科目数未知
- Cadence Orcad Capture属性窗口转置的方法图文教程
- 10个英文手写字体下载
- 电视家3.0怎么安装到电视上?常用三种方法介绍
- 色彩的搭配,象征,以及web标准色
- 微信小程序云开发--云存储的使用(一)
- c语言水仙花数pow,c语言如何解水仙花数
- mysql1273,phpmysql错误 – #1273 – #1273 – 未知排序规则:’utf8mb4_general_ci’
- Anki 学习排行榜
- 收费短剧小剧场类影视小程序源码 支持多运营模式+详细搭建教程
- 国内云服务器,服务商优缺点分析