手机号归属地 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 mysql 手机归属地_PHP手机号码归属地查询代码(API接口/mysql)_PHP教程
文章来介绍一下关于手机号码归属地实现方法,我们可以利用api接口与mysql+php来实例有需要的同学看看. 首先我们介绍使用自己的数据库查询多个手机号码,那还是建议你拥有一个自己的的手机号码数据库. ...
- php mysql 手机归属地_PHP手机号码归属地查询代码(API接口/mysql)
首先我们介绍使用自己的数据库查询多个手机号码,那还是建议你拥有一个自己的的手机号码数据库.正常情况下,只是满足一般查询的话,你不需要去购买专业版的手机号码数据库,增加无谓成本.我免费为你提供一个ACC ...
- java手机号归属地查询_【原创】Java实现手机号码归属地查询
网络上已经有很多的手机号码归属地查询的API接口,但是这些接口总是有一些大大小小的缺陷. 总结一下这些缺陷: 1.要直接将它的搜索框链接形式粘到自己的页面,点击查询的时候还要跳转到他们的网站来展示归属 ...
- 【原创】Java实现手机号码归属地查询
网络上已经有很多的手机号码归属地查询的API接口,但是这些接口总是有一些大大小小的缺陷. 总结一下这些缺陷: 1.要直接将它的搜索框链接形式粘到自己的页面,点击查询的时候还要跳转到他们的网站来展示归属 ...
- Python实现手机号码归属地查询功能
文章目录 一.使用场景 二.问题描述 三.解决方案 四.方法补充 方法一: 方法二 一.使用场景 对手机号码进行地域分析,需要查询归属地: 二.问题描述 针对数据集比较大的情况,通过脚本来处理,使用多 ...
- 手机号码归属地查询 - 一刀工具
手机号码归属地快速查询移动,联通,电信手机号码归属地,免费手机号码运营商查询,手机归属地查询大全. 代码片段 //获取手机信息static function getMobile($mobile){tr ...
- PHP+MYSQL实现手机号码归属地查询…
手机号码归属地查询这个概念大家都不陌生吧!像我们在百度搜索框中输入一个正确的手机号码,点击搜索,就会显示这个手机号码的归属地和卡类型,非常方便.今天要为大家说的就是利用PHP+MYSQL的方法来实现手 ...
- 调用聚合数据API实现手机号码归属地查询
调用聚合数据API实现手机号码归属地查询 1.作者介绍 2.相关介绍 2.1 什么是聚合数据? 2.2 API介绍 2.3 手机号码归属地 3.实验过程 3.1如何调用聚合数据API 3.2代码实现 ...
最新文章
- django-request对象
- MySQL 数据库mysqlbinlog使用问题:unknown variable ‘default-character-set=utf8‘.解决方法
- 面向对象编程(OOP)和面向过程编程
- python获取系统时间函数_Python常用时间操作总结【取得当前时间、时间函数、应用等】...
- 【MySQL】主从复制架构方案 - 笔记
- php如何编写通信协议,定制通讯协议
- manjaro linux下载软件,manjaro linux
- 【LeetCode笔记】198. 打家劫舍(Java、动态规划)
- 从键盘中读取字符流 自定义异常
- XLNet(Generalized Autoregressive Pretraining for Language Understanding) 论文笔记
- 2013年11月17日
- 剑指offer 面试题32 从1到n整数中1出现的次数
- vba遍历字符串_EXCEL 公式 遍历查找 查找字符串
- 高通WLAN芯片点灯方法-QCA9563操控9880GPIO进行点灯
- Excel数据分析案例一——业绩达成分析
- 机器学习——LASSO算法
- Kaggle数据集Telco-Customer-Churn.csv特征相关性分析(用LabelEncoder编码)
- linux下安装rabbitMQ和springboot+rabbitMQ使用案例
- Taro从零创建微信小程序步骤
- 网页上腾讯视频下载mp4格式到本地
热门文章
- 25 万行逆向源码遭 GitHub 下架!
- 企业级Hadoop大数据平台实战(1)——基础知识说明
- 2010年上半年网络管理员上午试卷参考答案与解析
- 数据安全能力成熟度模型DSMM----八、通用安全
- 计算机系统实验:模型机(十六)另一篇?
- Exchange反压保护机制导致内部邮件传送延迟
- Apollo 应用与源码分析:Monitor监控-软件监控-模块存活监控
- CPU发现高危安全漏洞 修复要损失多达39%性能
- os+rom+android+6.0+n9005,三星N9005刷机包 Aurora.Note3.Full.Note5.Port.No.8 重新调试系统底层 提升系统流畅度...
- 【网络工程】广域网与接入网