色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術文章
文章詳情頁

Java使用阿里云接口進行身份證實名認證的示例實現

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

如今隨著互聯網產業的多元化發展,尤其是互聯網金融,O2O,共享經濟等新興商業形式的興起,企業對實名認證業務的數據形式和數據質量有了更高的需求。如今也衍生出身份證實名認證業務,通過接口將身份證號碼、姓名上傳至阿里云,再與全國公民身份信息系統進行匹配,判斷信息的一致性。

在使用接口服務的方面我推薦使用技術實力強大的阿里云;

附上:阿里云最高¥2000云產品通用代金券

首先點擊:【阿里云API接口】獲取相應的訂單后在控制臺中可以得到您的appcode;

發送數據:

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

返回數據:

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

具體實現類:

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); //根據API的要求,定義相對應的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請從 * https://github.com/aliyun/api-gateway-demo-sign-java/blob/master/src/main/java/com/aliyun/api/gateway/demo/util/HttpUtils.java * 下載 * * 相應的依賴請參照 * 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(); } }

工具類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); } }}

到此這篇關于Java使用阿里云接口進行身份證實名認證的示例實現的文章就介紹到這了,更多相關阿里云身份證實名認證內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Java
相關文章:
主站蜘蛛池模板: 午夜国产视频 | 99精品小视频 | 全部免费a级毛片 | 成人国产精品视频频 | 成年人网站在线观看免费 | 黄色三区 | 越南高清幻女bbwxxxx | 亚洲欧美精品成人久久91 | 欧美一级视频高清片 | 欧美多人三级级视频播放 | 正在播真实出轨炮对白 | 欧美 自拍 | 99久久香蕉国产线看观香 | 欧美hdvideosex4k | 成人网18免费网站在线 | 色伦网 | 亚洲一区2区三区4区5区 | 一级毛片免费在线播放 | 久久91在线 | 欧美一级乱理片免费观看 | 亚洲天堂成人在线观看 | 牲欧美| 看性过程三级视频在线观看 | 国产三级精品久久三级国专区 | 99在线观看 | 九九免费视频 | 国产高清一区 | 18视频免费网站 | 成年人视频在线免费播放 | 国产在线不卡免费播放 | 在线观看亚洲国产 | 欧美一级高清视频在线播放 | 日本欧美中文 | 激情宗合网| 一区二区不卡在线 | 日韩高清一区二区 | 三毛片| 久草日韩| 在线播放波多野结衣 | 国产亚洲精品国产第一 | 亚洲天堂久久精品 |