身份證歸屬地查詢免費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接口代碼