手机号码归属地查询免费api接口代码

根据手机号码查询用户的卡类型、运营商、归属地、区域等信息。

手机归属地实体类

package org.wx.xhelper.model;

/**
 * 手机归属地
 * @author wangxw
 * @version 1.0
 * @date Jul 9, 2014 4:03:04 PM
 */
public class PhoneBelong {

	// 电话号码
	private String phone;

	// 手机号码所在地区区号
	private String area;

	// 号码卡类型
	private String ctype;

	// 所属运营商
	private String operators;

	// 简写归属地
	private String simcall;

	public String getPhone() {
		return phone;
	}

	public void setPhone(String phone) {
		this.phone = phone;
	}

	public String getArea() {
		return area;
	}

	public void setArea(String area) {
		this.area = area;
	}

	public String getCtype() {
		return ctype;
	}

	public void setCtype(String ctype) {
		this.ctype = ctype;
	}

	public String getOperators() {
		return operators;
	}

	public void setOperators(String operators) {
		this.operators = operators;
	}

	public String getSimcall() {
		return simcall;
	}

	public void setSimcall(String simcall) {
		this.simcall = simcall;
	}
}

手机归属地服务接口类

package org.wx.xhelper.service;

import java.io.UnsupportedEncodingException;
import java.net.URL;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.NodeList;
import org.wx.xhelper.model.PhoneBelong;

/**
 * 手机归属地服务接口类
 * @author wangxw
 * @version 1.0
 * @date Jul 9, 2014 4:07:11 PM
 */
public class PhoneBelongService {

	/**
	 * 生成归属地相关信息
	 * @param phone
	 * @return 归属地相关信息
	 * @throws UnsupportedEncodingException
	 */
	public static String getPhoneBelongDetail(String phone) throws UnsupportedEncodingException{
		// 获取手机归属地
		PhoneBelong phoneBelong = getPhoneBelong(phone);

		// 存储文本信息
		StringBuffer news = new StringBuffer();

		if (phoneBelong != null) {
			news.append("号码:"+phoneBelong.getPhone()).append("\n");
			news.append("区号:"+phoneBelong.getArea()).append("\n");
			news.append("卡类型:"+phoneBelong.getCtype()).append("\n");
			news.append("运营商:"+phoneBelong.getOperators()).append("\n");
			news.append("归属地:"+phoneBelong.getSimcall()).append("\n\n");
		}

		if(news.length() == 0){
			news.append("号码").append(phone).append("不存在,请重新输入!");
		}

		// 截取字符串以免超出微信最大发送字符数2048
		if(news.toString().getBytes("UTF-8").length > 2048){
			 return news.substring(0, 2000/3).concat("...");
		 }

		return news.toString();
	}

	/**
	 * 获取手机归属地
	 * @param phone
	 * @return 手机归属地对象
	 */
	public static PhoneBelong getPhoneBelong(String phone){
		URL url = null;
		PhoneBelong phoneBelong = new PhoneBelong();
		try{
			DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
			DocumentBuilder builder = factory.newDocumentBuilder();

			url = new URL("http://api.k780.com:88/?app=phone.get&phone="+phone+"&appkey=10003&sign=b59bc3ef6191eb9f747dd4e83c99f2a4&format=xml");

			Document doc = builder.parse(url.openStream());
			NodeList node = doc.getElementsByTagName("result"); 

			for(int i=0;i<node.getLength();i++){
				String area = "";
				String ctype = "";
				String operators = "";
				String simcall = "";
				if(doc.getElementsByTagName("area").item(i).getFirstChild() != null){
					area = doc.getElementsByTagName("area").item(i).getFirstChild().getNodeValue();
				}
				if(doc.getElementsByTagName("ctype").item(i).getFirstChild() != null){
					ctype = doc.getElementsByTagName("ctype").item(i).getFirstChild().getNodeValue();
				}
				if(doc.getElementsByTagName("operators").item(i).getFirstChild() != null){
					operators = doc.getElementsByTagName("operators").item(i).getFirstChild().getNodeValue();
				}
				if(doc.getElementsByTagName("style_simcall").item(i).getFirstChild() != null){
					simcall = doc.getElementsByTagName("style_simcall").item(i).getFirstChild().getNodeValue();
				}
				phoneBelong.setPhone(phone);
				phoneBelong.setArea(area);
				phoneBelong.setCtype(ctype);
				phoneBelong.setOperators(operators);
				phoneBelong.setSimcall(simcall);
			}

		}catch(Exception e){
			e.printStackTrace();
		}
		return phoneBelong;
	}
}

查询结果:

号码:13800138000

区号:010

卡类型:移动全球通卡

运营商:移动

归属地:中国,北京

手机号码归属地查询免费api接口代码

时间: 2024-10-22 18:39:53

手机号码归属地查询免费api接口代码的相关文章

身份证归属地查询免费api接口代码

描写叙述 :依据身份证编号 查询归属地信息. 身份证实体类: package org.wx.xhelper.model; /** * 身份证实体类 * @author wangxw * @version 1.0 * @date Jul 11, 2014 10:46:54 AM */ public class IdCard { // 身份证号码 private String idCard; // 出生日期 private String born; // 性别 private String sex;

违章查询免费api接口代码

能够依据城市+车牌号+发动机号查询违章信息列表. 违章实体类 package org.wx.xhelper.model; /** * 违章实体类 * @author wangxw * @version 1.0 * @date Jul 11, 2014 3:25:34 PM */ public class ViolRegu { // 违章时间 private String date; // 违章地点 private String area; // 违章行为 private String act;

公交线路免费api接口代码

描述:本接口主要是根据城市名称 +  线路名称 模糊查找城市公交线路信息. 开源api接口:http://openapi.aibang.com/bus/lines?app_key=f41c8afccc586de03a99c86097e98ccb&city="+cityName+"&q="+line 其中cityName = URLEncoder.encode(cityName,"utf-8") line = URLEncoder.encod

【原创】Java实现手机号码归属地查询

网络上已经有很多的手机号码归属地查询的API接口,但是这些接口总是有一些大大小小的缺陷. 总结一下这些缺陷: 1.要直接将它的搜索框链接形式粘到自己的页面,点击查询的时候还要跳转到他们的网站来展示归属地结果 2.提供接口的API,一般都要求付费,或者一天只有免费的限定查询次数 3.有些博客文档中的API已经过于老旧,尝试的时候,已经404Not Found的了 所以写篇博客,供正在做手机归属地查询的小伙伴参考. 思路: ->我找到一个拍拍网的接口,可以通过curl直接传手机号码来进行查询,并且会

百度手机号码归属地查询api与返回json处理

前天无意间在网上看到百度ApiStore,然后好奇就进去看了看.正好最近在某博培训Android,刚学到java基础.抱着锻炼的心态选择手机号码归属地查询api进行练手.api地址 (http://apis.baidu.com/apistore/mobilephoneservice/mobilephone).百度官方已经给出请求示例 .我们只需要对请求结果json进行解析就可以. Java请求示例: 1 String httpUrl = "http://apis.baidu.com/apisto

Java调用免费的WebService示例【天气预报】【国内手机号码归属地查询】

1.免费的WebService地址:http://www.webxml.com.cn/zh_cn/index.aspx 提供了例如:天气预报,手机归属地查询等很多Web服务. 2.调用天气预报服务示例: 使用JDK自带的wsimport命令生成客户端代码: wsimport -keep http://webservice.webxml.com.cn/WebServices/WeatherWS.asmx?wsdl 发现抛出如下异常: 后来在网上找到了http://blog.sina.com.cn/

各类无次数限制的免费API接口,再也不怕找不到免费API了

各类无次数限制的免费API接口整理,主要是聚合数据上和API Store上的一些,还有一些其他的. 聚合数据提供30大类,160种以上基础数据API服务,国内最大的基础数据API服务,下面就罗列一些免费的各类API接口.聚合的免费API接口数据:手机号码归属地API接口:https://www.juhe.cn/docs/api/id/11历史上的今天API接口:https://www.juhe.cn/docs/api/id/63股票数据API接口:https://www.juhe.cn/docs

网络免费API接口整理

从网上看到一些免费API接口,在个人开发小程序等应用练手时可试用. 各类无次数限制的免费API接口整理,主要是聚合数据上和API Store上的一些,还有一些其他的. 聚合数据提供30大类,160种以上基础数据API服务,国内最大的基础数据API服务,下面就罗列一些免费的各类API接口. 聚合的免费API接口数据: 手机号码归属地API接口:https://www.juhe.cn/docs/api/id/11 历史上的今天API接口:https://www.juhe.cn/docs/api/id

各类无次数限制的免费API接口整理

各类无次数限制的免费API接口整理,主要是聚合数据上和API Store上的一些,还有一些其他的. 聚合数据提供30大类,160种以上基础数据API服务,国内最大的基础数据API服务,下面就罗列一些免费的各类API接口. 聚合的免费API接口数据: 手机号码归属地API接口:https://www.juhe.cn/docs/api/id/11 历史上的今天API接口:https://www.juhe.cn/docs/api/id/63 股票数据API接口:https://www.juhe.cn/