国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Java使用阿里云接口進(jìn)行身份證實(shí)名認(rèn)證的示例實(shí)現(xiàn)

瀏覽:12日期:2022-08-29 13:16:12

如今隨著互聯(lián)網(wǎng)產(chǎn)業(yè)的多元化發(fā)展,尤其是互聯(lián)網(wǎng)金融,O2O,共享經(jīng)濟(jì)等新興商業(yè)形式的興起,企業(yè)對(duì)實(shí)名認(rèn)證業(yè)務(wù)的數(shù)據(jù)形式和數(shù)據(jù)質(zhì)量有了更高的需求。如今也衍生出身份證實(shí)名認(rèn)證業(yè)務(wù),通過(guò)接口將身份證號(hào)碼、姓名上傳至阿里云,再與全國(guó)公民身份信息系統(tǒng)進(jìn)行匹配,判斷信息的一致性。

在使用接口服務(wù)的方面我推薦使用技術(shù)實(shí)力強(qiáng)大的阿里云;

附上:阿里云最高¥2000云產(chǎn)品通用代金券

首先點(diǎn)擊:【阿里云API接口】獲取相應(yīng)的訂單后在控制臺(tái)中可以得到您的appcode;

發(fā)送數(shù)據(jù):

bodys.put('idNo', '340421190210182345');bodys.put('name', '張三');

返回?cái)?shù)據(jù):

{ 'name': '張三', 'idNo': '340421190710145412', 'respMessage': '身份證信息匹配', 'respCode': '0000', 'province': '安徽省', 'city': '淮南市', 'county': '鳳臺(tái)縣', 'birthday': '19071014', 'sex': 'M', 'age': '111'}

具體實(shí)現(xiàn)類(lèi):

public static void main(String[] args) { String host = 'https://idenauthen.market.alicloudapi.com'; String path = '/idenAuthentication'; String method = 'POST'; String appcode = '你自己的AppCode'; Map<String, String> headers = new HashMap<String, String>(); //最后在header中的格式(中間是英文空格)為Authorization:APPCODE 83359fd73fe94948385f570e3c139105 headers.put('Authorization', 'APPCODE ' + appcode); //根據(jù)API的要求,定義相對(duì)應(yīng)的Content-Type headers.put('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8'); Map<String, String> querys = new HashMap<String, String>(); Map<String, String> bodys = new HashMap<String, String>(); bodys.put('idNo', '340421190210182345'); bodys.put('name', '張三'); try { /** * 重要提示如下: * HttpUtils請(qǐng)從 * https://github.com/aliyun/api-gateway-demo-sign-java/blob/master/src/main/java/com/aliyun/api/gateway/demo/util/HttpUtils.java * 下載 * * 相應(yīng)的依賴請(qǐng)參照 * https://github.com/aliyun/api-gateway-demo-sign-java/blob/master/pom.xml */ HttpResponse response = HttpUtils.doPost(host, path, method, headers, querys, bodys); System.out.println(response.toString()); //獲取response的body //System.out.println(EntityUtils.toString(response.getEntity())); } catch (Exception e) { e.printStackTrace(); } }

工具類(lèi)HttpUtils:

package com.netgate.util.send; import java.io.UnsupportedEncodingException;import java.net.URLEncoder;import java.security.KeyManagementException;import java.security.NoSuchAlgorithmException;import java.security.cert.X509Certificate;import java.util.ArrayList;import java.util.List;import java.util.Map; import javax.net.ssl.SSLContext;import javax.net.ssl.TrustManager;import javax.net.ssl.X509TrustManager; import org.apache.commons.lang.StringUtils;import org.apache.http.HttpResponse;import org.apache.http.NameValuePair;import org.apache.http.client.HttpClient;import org.apache.http.client.entity.UrlEncodedFormEntity;import org.apache.http.client.methods.HttpDelete;import org.apache.http.client.methods.HttpGet;import org.apache.http.client.methods.HttpPost;import org.apache.http.client.methods.HttpPut;import org.apache.http.conn.ClientConnectionManager;import org.apache.http.conn.scheme.Scheme;import org.apache.http.conn.scheme.SchemeRegistry;import org.apache.http.conn.ssl.SSLSocketFactory;import org.apache.http.entity.ByteArrayEntity;import org.apache.http.entity.StringEntity;import org.apache.http.impl.client.DefaultHttpClient;import org.apache.http.message.BasicNameValuePair; public class HttpUtils { /** * get * * @param host * @param path * @param method * @param headers * @param querys * @return * @throws Exception */ public static HttpResponse doGet(String host, String path, String method, Map<String, String> headers, Map<String, String> querys) throws Exception {HttpClient httpClient = wrapClient(host); HttpGet request = new HttpGet(buildUrl(host, path, querys)); for (Map.Entry<String, String> e : headers.entrySet()) { request.addHeader(e.getKey(), e.getValue()); }return httpClient.execute(request); } /** * post form * * @param host * @param path * @param method * @param headers * @param querys * @param bodys * @return * @throws Exception */ public static HttpResponse doPost(String host, String path, String method, Map<String, String> headers, Map<String, String> querys, Map<String, String> bodys) throws Exception {HttpClient httpClient = wrapClient(host); HttpPost request = new HttpPost(buildUrl(host, path, querys)); for (Map.Entry<String, String> e : headers.entrySet()) { request.addHeader(e.getKey(), e.getValue()); } if (bodys != null) { List<NameValuePair> nameValuePairList = new ArrayList<NameValuePair>(); for (String key : bodys.keySet()) {nameValuePairList.add(new BasicNameValuePair(key, bodys.get(key))); } UrlEncodedFormEntity formEntity = new UrlEncodedFormEntity(nameValuePairList, 'utf-8'); formEntity.setContentType('application/x-www-form-urlencoded; charset=UTF-8'); request.setEntity(formEntity); } return httpClient.execute(request); } /** * Post String * * @param host * @param path * @param method * @param headers * @param querys * @param body * @return * @throws Exception */ public static HttpResponse doPost(String host, String path, String method, Map<String, String> headers, Map<String, String> querys, String body) throws Exception {HttpClient httpClient = wrapClient(host); HttpPost request = new HttpPost(buildUrl(host, path, querys)); for (Map.Entry<String, String> e : headers.entrySet()) { request.addHeader(e.getKey(), e.getValue()); } if (StringUtils.isNotBlank(body)) { request.setEntity(new StringEntity(body, 'utf-8')); } return httpClient.execute(request); } /** * Post stream * * @param host * @param path * @param method * @param headers * @param querys * @param body * @return * @throws Exception */ public static HttpResponse doPost(String host, String path, String method, Map<String, String> headers, Map<String, String> querys, byte[] body) throws Exception {HttpClient httpClient = wrapClient(host); HttpPost request = new HttpPost(buildUrl(host, path, querys)); for (Map.Entry<String, String> e : headers.entrySet()) { request.addHeader(e.getKey(), e.getValue()); } if (body != null) { request.setEntity(new ByteArrayEntity(body)); } return httpClient.execute(request); } /** * Put String * @param host * @param path * @param method * @param headers * @param querys * @param body * @return * @throws Exception */ public static HttpResponse doPut(String host, String path, String method, Map<String, String> headers, Map<String, String> querys, String body) throws Exception {HttpClient httpClient = wrapClient(host); HttpPut request = new HttpPut(buildUrl(host, path, querys)); for (Map.Entry<String, String> e : headers.entrySet()) { request.addHeader(e.getKey(), e.getValue()); } if (StringUtils.isNotBlank(body)) { request.setEntity(new StringEntity(body, 'utf-8')); } return httpClient.execute(request); } /** * Put stream * @param host * @param path * @param method * @param headers * @param querys * @param body * @return * @throws Exception */ public static HttpResponse doPut(String host, String path, String method, Map<String, String> headers, Map<String, String> querys, byte[] body) throws Exception {HttpClient httpClient = wrapClient(host); HttpPut request = new HttpPut(buildUrl(host, path, querys)); for (Map.Entry<String, String> e : headers.entrySet()) { request.addHeader(e.getKey(), e.getValue()); } if (body != null) { request.setEntity(new ByteArrayEntity(body)); } return httpClient.execute(request); } /** * Delete * * @param host * @param path * @param method * @param headers * @param querys * @return * @throws Exception */ public static HttpResponse doDelete(String host, String path, String method, Map<String, String> headers, Map<String, String> querys) throws Exception {HttpClient httpClient = wrapClient(host); HttpDelete request = new HttpDelete(buildUrl(host, path, querys)); for (Map.Entry<String, String> e : headers.entrySet()) { request.addHeader(e.getKey(), e.getValue()); }return httpClient.execute(request); } private static String buildUrl(String host, String path, Map<String, String> querys) throws UnsupportedEncodingException { StringBuilder sbUrl = new StringBuilder(); sbUrl.append(host); if (!StringUtils.isBlank(path)) { sbUrl.append(path); } if (null != querys) { StringBuilder sbQuery = new StringBuilder(); for (Map.Entry<String, String> query : querys.entrySet()) {if (0 < sbQuery.length()) { sbQuery.append('&');}if (StringUtils.isBlank(query.getKey()) && !StringUtils.isBlank(query.getValue())) { sbQuery.append(query.getValue());}if (!StringUtils.isBlank(query.getKey())) { sbQuery.append(query.getKey()); if (!StringUtils.isBlank(query.getValue())) { sbQuery.append('='); sbQuery.append(URLEncoder.encode(query.getValue(), 'utf-8')); } } } if (0 < sbQuery.length()) {sbUrl.append('?').append(sbQuery); } }return sbUrl.toString(); } private static HttpClient wrapClient(String host) { HttpClient httpClient = new DefaultHttpClient(); if (host.startsWith('https://')) { sslClient(httpClient); }return httpClient; } private static void sslClient(HttpClient httpClient) { try { SSLContext ctx = SSLContext.getInstance('TLS'); X509TrustManager tm = new X509TrustManager() {public X509Certificate[] getAcceptedIssuers() { return null;}public void checkClientTrusted(X509Certificate[] xcs, String str) { }public void checkServerTrusted(X509Certificate[] xcs, String str) { } }; ctx.init(null, new TrustManager[] { tm }, null); SSLSocketFactory ssf = new SSLSocketFactory(ctx); ssf.setHostnameVerifier(SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER); ClientConnectionManager ccm = httpClient.getConnectionManager(); SchemeRegistry registry = ccm.getSchemeRegistry(); registry.register(new Scheme('https', 443, ssf)); } catch (KeyManagementException ex) { throw new RuntimeException(ex); } catch (NoSuchAlgorithmException ex) { throw new RuntimeException(ex); } }}

到此這篇關(guān)于Java使用阿里云接口進(jìn)行身份證實(shí)名認(rèn)證的示例實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)阿里云身份證實(shí)名認(rèn)證內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 中文字幕成人免费高清在线 | 亚洲在线影院 | 91精品一区二区三区在线 | 亚洲日本欧美产综合在线 | 一本色道久久88亚洲精品综合 | 日本国产在线 | baoyu121永久免费网站 | 久久久精品久久久久久久久久久 | 国产精品日韩欧美 | 97在线免费看视频 | 草草影院地址 | 91大神大战丝袜美女在线观看 | a在线观看欧美在线观看 | 国产自在自线午夜精品视频在 | 在线观看免费精品国产 | 国产中文字幕视频 | 国产亚洲精品成人久久网站 | 久久精品国产屋 | 三级黄色网址 | gogo999亚洲肉体艺术大胆 | 国产精品观看 | 成 人免费视频l免费观看 | 老司机成人免费精品视频 | 色三级大全高清视频在线观看 | 国产成人高清视频在线观看免费97 | 高清国产美女一级a毛片 | cao美女 | 国产成人小视频在线观看 | 久久精品国产一区二区三区日韩 | 久久精品视频6 | 免费在线看a | 久久一区视频 | 日本aaaa精品免费视频 | 成年人免费软件 | 午夜视频在线观看一区 | 欧美综合在线视频 | 欧美成人精品手机在线观看 | 国产日韩欧美精品一区 | 97在线视频观看 | 亚洲高清一区二区三区久久 | 高清性色生活片欧美在线 |