身份证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;

	// 所在地区
	private String att;

	public String getIdCard() {
		return idCard;
	}

	public void setIdCard(String idCard) {
		this.idCard = idCard;
	}

	public String getBorn() {
		return born;
	}

	public void setBorn(String born) {
		this.born = born;
	}

	public String getSex() {
		return sex;
	}

	public void setSex(String sex) {
		this.sex = sex;
	}

	public String getAtt() {
		return att;
	}

	public void setAtt(String att) {
		this.att = att;
	}

}

服务接口类:

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.IdCard;

/**
 * 身份证信息服务接口类
 * @author wangxw
 * @version 1.0
 * @date Jul 11, 2014 10:49:57 AM
 */
public class IdCardService {

	/**
	 * 生成身份证信息
	 * @param cardNo
	 * @return 返回身份证信息
	 * @throws UnsupportedEncodingException
	 */
	public static String getIdCardDetail(String cardNo) throws UnsupportedEncodingException{
		// 获取身份证信息
		IdCard idcard = getIdCardInfo(cardNo);

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

		if (idcard != null) {
			news.append("所属地区:"+idcard.getAtt()).append("\n");
			news.append("出生日期:"+idcard.getBorn()).append("\n");
			news.append("性别:"+idcard.getSex()).append("\n");
		}

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

		return news.toString();
	}

	/**
	 * 获取身份证信息
	 * @param cardNo
	 * @return 返回身份证信息
	 */
	public static IdCard getIdCardInfo(String cardNo){
		URL url = null;
		IdCard idCard = new IdCard();
		try{
			DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
			DocumentBuilder builder = factory.newDocumentBuilder();

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

			System.out.println(url);

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

			for(int i=0;i<node.getLength();i++){
				String idcard = "";
				String born = "";
				String sex = "";
				String att = "";
				if(doc.getElementsByTagName("idcard").item(i).getFirstChild() != null){
					idcard = doc.getElementsByTagName("idcard").item(i).getFirstChild().getNodeValue();
				}
				if(doc.getElementsByTagName("born").item(i).getFirstChild() != null){
					born = doc.getElementsByTagName("born").item(i).getFirstChild().getNodeValue();
				}
				if(doc.getElementsByTagName("sex").item(i).getFirstChild() != null){
					sex = doc.getElementsByTagName("sex").item(i).getFirstChild().getNodeValue();
				}
				if(doc.getElementsByTagName("att").item(i).getFirstChild() != null){
					att = doc.getElementsByTagName("att").item(i).getFirstChild().getNodeValue();
				}
				idCard.setIdCard(idcard);
				idCard.setBorn(born);
				idCard.setSex(sex);
				idCard.setAtt(att);
			}

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

	public static void main(String[] args){
		try {
			System.out.print(getIdCardDetail("110101199001011118"));
		} catch (UnsupportedEncodingException e) {
			e.printStackTrace();
		}
	}

}

返回结果:

所属地区:北京市东城区

出生日期:1990年01月01日

性别:男

身份证api接口

时间: 2024-10-05 23:58:46

身份证api接口的相关文章

身份证/行驶证/驾驶证识别SDK及API接口技术

一.身份证/行驶证/驾驶证识别SDK及API接口技术应用背景 这些年,随着移动互联网的的发展,越来越多的公司都推出了自己的移动APP,这些APP多数都涉及到个人身份证信息的输入认证(即实名认证),如果手动去输入身份证号码和姓名,速度非常慢,且用户体验非常差.为了提高在移动终端上输入身份证信息的速度和准确性,我们开发出证件识别:身份证/行驶证/驾驶证识别SDK及API接口技术,以满足各行业应用需求,给用户带来更好的体验.只需将证件识别:身份证/行驶证/驾驶证识别SDK及API接口技术集成到APP中

身份证归属地查询免费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;

Web API接口 安全验证

在上篇随笔<Web API应用架构设计分析(1)>,我对Web API的各种应用架构进行了概括性的分析和设计,Web API 是一种应用接口框架,它能够构建HTTP服务以支撑更广泛的客户端(包括浏览器,手机和平板电脑等移动设备)的框架,本篇继续这个主题,介绍如何利用ASP.NET Web API 来设计Web API层以及相关的调用处理. 1.Web API的接口访问分类 Web API接口的访问方式,大概可以分为几类: 1)一个是使用用户令牌,通过Web API接口进行数据访问.这种方式,可

微信公众号开发API接口大全

在本文中,我们列出微信公众平台上可以使用的API接口以及举例如何在微信公众平台调用这些接口实现相应的功能. 接口调用说明: ① Appkey请使用的微信公众号,不要使用默认的trailuser ② 接口返回类型为文本.图文.及音乐三种基本消息 ③ 请在所有消息底部主动加上“技术支持 方倍工作室” ④ JSON验证网址 http://pro.jsonlint.com/ ⑤ 接口将不定期增加或更新,欢迎指出错误 ⑥ 如果有想要实现的,请在下面评论中列出并提供数据来源 ⑦ 提供的例子为天气.笑话.点歌

Retrofit/OkHttp API接口加固技术实践(下)

作者/Tamic http://blog.csdn.net/sk719887916/article/details/65448628 上节加固介绍了APi单纯Post用对称加密(Base64 为列子)加密方式,这种加密方式还是存在一定的风险,加密效率虽高,但易破解,本节将介绍怎么用非对称加密 来加解密okhttp的数据,本文采用RSA加密算法为栗子. 对称加密 对称加密是最传统的加密方式,比上非对称加密,缺少安全性,但是它依旧是用的比较多的加密方法. 对称加密采用单密钥加密方式,不论是加密还是解

远程开户系统开放API接口

如今随着智能识别技术的成熟和商用,金融领域也开始逐渐试水"远程开户".从OCR身份证识别到人脸识别,到如今市场上即将出现完整的远程开户系统,除了需要成熟的技术做支撑外,还需要对市场有着前瞻性的眼光. 这套远程开户系统包含了OCR身份证识别技术.银行卡识别技术.人脸识别等智能识别技术.即利用身份证识别快速采集验证用户身份,并通过联网核查进行验证身份信息,用来核实用户的真实身份;然后利用银行卡识别一键绑定银行卡,再辅以视频人脸识别进行身份进一步验证,确保开户者与证件持有者为同一人,做到人证

Java操作百度身份证API

网址:http://apistore.baidu.com/ 点击功能进行复制代码,就拿百度的身份证API 举例子: http://apistore.baidu.com/apiworks/servicedetail/113.html ? Java 代码: String httpUrl = "http://apis.baidu.com/apistore/idservice/id"; String httpArg = "id=420984198704207896"; St

各类无次数限制的免费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