身份证识别接口编写的JAVA调用示例
此java文章是基本聚合数据证件识别接口来演示,基本HTTP POST请求上传图片并接收JSON数据来处理。
使用前你需要通过
https://www.juhe.cn/docs/api/id/153
申请一个名片识别的appkey
1.支持的证件类型清单
请求地址:http://api2.juheapi.com/cardrecon/supportlist?key=您申请的appkey
此接口可通过GET请求得到结果,java网络请求有HttpClient相关工具包及HttpURLConnection相关的包等,这里用的是HttpClient,需要先导包,如果用maven话会更方便直接把:
<dependency><groupid>org.apache.httpcomponents</groupid>
<artifactid>httpmime</artifactid>
<version>4.3.</version>
</dependency>
<dependency>
<groupid>org.apache.httpcomponents</groupid>
<artifactid>httpclient</artifactid>
<version>4.4.</version>
</dependency>
复制到配置文件 pom.xml
请求代码如下:
public static String get() throws IOException {
// 创建HttpClient对象
CloseableHttpClient httpClient = HttpClients.createDefault();
CloseableHttpResponse response = null;
String result = null;
try {
HttpGet httpGet = new HttpGet("http://api2.juheapi.com/cardrecon/supportlist?key="+ appKey);
// 执行网络请求
response = httpClient.execute(httpGet);
// 获取请求实体
HttpEntity resEntity = response.getEntity();
if (resEntity != null) {
// ConverStreamToString是下面写的一个方法是把网络请求的字节流转换为utf8的字符串
result = ConvertStreamToString(resEntity.getContent(), "UTF-8");
}
EntityUtils.consume(resEntity);
} catch (Exception e) {
} finally {
// 关闭请求
response.close();
httpClient.close();
}
// 得到的是JSON类型的数据需要第三方解析JSON的jar包来解析
return result;
}
2.证件图片识别
请求地址:http://api2.juheapi.com/cardrecon/upload
// 此方法是POST请求上传的参数中包含本地图片信息File类型
public static String post(String type, File file) throws Exception {
CloseableHttpClient httpClient = HttpClients.createDefault();
CloseableHttpResponse response = null;
String result = null;
// HttpClient请求的相关设置,可以不用配置,用默认的参数,这里设置连接和超时时长(毫秒)
RequestConfig config = RequestConfig.custom().setConnectTimeout(30000).setSocketTimeout(30000).build();
try {
HttpPost httppost = new HttpPost("http://api2.juheapi.com/cardrecon/upload");
// FileBody封装File类型的参数
FileBody bin = new FileBody(file);
// StringBody封装String类型的参数
StringBody keyBody = new StringBody(key, ContentType.TEXT_PLAIN);
StringBody typeBody = new StringBody(type, ContentType.TEXT_PLAIN);
// addPart将参数传入,并指定参数名称
HttpEntity reqEntity = MultipartEntityBuilder.create()
.addPart("pic", bin).addPart("key", keyBody)
.addPart("cardType", typeBody).build();
httppost.setEntity(reqEntity);
httppost.setConfig(config);
// 执行网络请求并返回结果
response = httpClient.execute(httppost);
HttpEntity resEntity = response.getEntity();
if (resEntity != null) {
result = ConvertStreamToString(resEntity.getContent(), "UTF-8");
}
EntityUtils.consume(resEntity);
} finally {
response.close();
httpClient.close();
}
// 得到的是JSON类型的数据需要第三方解析JSON的jar包来解析
return result;
} // 此方法是把传进的字节流转化为相应的字符串并返回,此方法一般在网络请求中用到
public static String ConvertStreamToString(InputStream is, String charset)
throws Exception {
StringBuilder sb = new StringBuilder();
try (InputStreamReader inputStreamReader = new InputStreamReader(is,charset)) {
try (BufferedReader reader = new BufferedReader(inputStreamReader)) {
String line = null;
while ((line = reader.readLine()) != null) {
sb.append(line).append("\r\n");
}
}
}
return sb.toString();
}
身份证识别接口编写的JAVA调用示例的更多相关文章
- Python实现AI图像识别-身份证识别
图像识别说白了就是把一张照片上面的文字进行提取,提供工作效率 需求分析 身份证识别主要是把一张身份证照片上面的文字信息进行提取,不用再使用人工去手动抄写了,下面给大家说的这个身份识别主要是使用pyth ...
- 基于JAVA的全国天气预报接口调用示例
step1:选择本文所示例的接口"全国天气预报接口" url:https://www.juhe.cn/docs/api/id/39/aid/87step2:每个接口都需要传入一个参 ...
- JAVA的免费天气api接口调用示例
step1:选择本文所示例的接口"免费天气api" url:https://www.juhe.cn/docs/api/id/39/aid/87 step2:每个接口都需要传入一个参 ...
- Java 调用http接口(基于OkHttp的Http工具类方法示例)
目录 Java 调用http接口(基于OkHttp的Http工具类方法示例) OkHttp3 MAVEN依赖 Http get操作示例 Http Post操作示例 Http 超时控制 工具类示例 Ja ...
- Java调用Http/Https接口(1)--编写服务端
Http接口输入的数据一般是键值对或json数据,返回的一般是json数据.本系列文章主要介绍Java调用Http接口的各种方法,本文主要介绍服务端的编写,方便后续文章里的客户端的调用.文中所使用到的 ...
- Java 泛型示例 - 泛型方法,类,接口
Java Genrics 是 Java 5 中引入的最重要的功能之一. 如果您一直在使用Java Collections并使用版本 5 或更高版本,那么我确定您已经使用过它. Java 中具有集合类的 ...
- java 调用腾讯身份OCR接口文档实例(绝对可用)
1.情景展示 通过读取身份证照片上的信息,实现自动填充功能. 2.原因分析 想要解析照片上所携带的相关信息,就需要识别照片的功能,腾讯提供了免费的身份证OCR接口,可供大家使用. 没有耐心的可以直 ...
- Java调用Http/Https接口(2)--HttpURLConnection/HttpsURLConnection调用Http/Https接口
HttpURLConnection是JDK自身提供的网络类,不需要引入额外的jar包.文中所使用到的软件版本:Java 1.8.0_191. 1.服务端 参见Java调用Http接口(1)--编写服务 ...
- 百度AI接口---身份证识别Demo
题记:自己是做java web的,但是本人以前接触并学习很多图像的知识,所以对图像很敏感.下面以百度的一个接口,实现身份证识别案例 1.需要百度开发者AppID.SecretKey .API Key. ...
随机推荐
- mysql导入导出命令详解
mysql导入导出命令详解 该命令适用于临时备份操作. 一.导出数据库用mysqldump命令(注意mysql的安装路径,即此命令的路径): /usr/local/mysql/bin/ ---> ...
- iOS-字体UIFont的lineHeight与pointSize
首先我们来看一看UIFont的API里面有哪些属性: // Font attributes @property(nonatomic,readonly,strong) NSString *familyN ...
- 关于jena-fuseki SPARQL query版本问题的解决方案
在做“Apache jena SPARQL endpoint及推理”时,遇到了不少问题,主要原因是jena-fuseki版本更新了.以下对问题解决方案做下笔记.想了解更多,请查阅底部参考文献. Que ...
- [luoguP2596] [ZJOI2006]书架(splay)
传送门 题目中的几个操作,直接splay搞一下即可: 把s旋转到根,左子树接到右子树 把s旋转到根,右子树接到左子树 交换s相邻的信息即可 把s旋转到根,左子树的大小即为答案 找第k大 没了 #inc ...
- linux系统——hosts文件修改
1. 关于/etc/host,主机名和IP配置文件 Hosts - The static table lookup for host name(主机名查询静态表) Linux 的/etc/hosts是 ...
- http content-type总结
content-type 媒体类型,即MIME类型,包括媒体格式和编码两部分 例如:Content-Type:text/html;charset:utf-8 常见的媒体格式类型如下: text/htm ...
- 【CF1043C】Smallest Word(构造)
题意:给定一个由a和b构成的字符串,可以选择翻转或不翻转他的每个前缀,翻转记为1不翻转记为0,求能将字符串排序的字典序最小的操作序列 n<=1e3 思路:考虑极长的一段a [t,w] 翻转t-1 ...
- javascript草稿
原文发布时间为:2011-06-01 -- 来源于本人的百度文章 [由搬家工具导入] @MyHelper.Script("jquery-1.6.1.min.js", Url) ...
- [LeetCode] Remove Duplicates from Sorted List II 链表
Given a sorted linked list, delete all nodes that have duplicate numbers, leaving only distinct numb ...
- [MySQL] Group Commit理解
简单的方法理解MySQL Group Commit原理 一个摆渡将乘客从A点传输到B点 MySQL 5.0 行为 在MySQL 5.0中,摆渡会在A点按顺序搭载乘客,并且传送到B点.A点和B点的来回行 ...