证件识别接口JAVA调用示例
2016-07-06 00:00
330 查看
摘要: 此篇java文章是基本聚合数据(http://www.juhe.cn)-----证件识别接口来演示,基本HTTP POST请求上传图片并接收JSON数据来处理,其他与上传图片相关的接口请求可参考此篇文章。
此篇java文章是基本聚合数据(http://www.juhe.cn)-----证件识别接口来演示,基本HTTP POST请求上传图片并接收JSON数据来处理,其他与上传图片相关的接口请求可参考此篇文章。
使用前你需要:
①:通过 http://www.juhe.cn/docs/api/id/153申请一个名片识别的appkey
1.支持的证件类型清单
请求地址:http://api2.juheapi.com/cardrecon/supportlist?key=您申请的appkey
此接口可通过GET请求得到结果,java网络请求有HttpClient相关工具包及HttpURLConnection相关的包等,这里用的是HttpClient,需要先导包,如果用maven话会更方便直接把:
复制到配置文件 pom.xml
请求代码如下:
2.证件图片识别
请求地址:http://api2.juheapi.com/cardrecon/upload
此篇java文章是基本聚合数据(http://www.juhe.cn)-----证件识别接口来演示,基本HTTP POST请求上传图片并接收JSON数据来处理,其他与上传图片相关的接口请求可参考此篇文章。
使用前你需要:
①:通过 http://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.6</version> </dependency> <dependency> <groupid>org.apache.httpcomponents</groupid> <artifactid>httpclient</artifactid> <version>4.4.1</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对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- c++11 + SDL2 + ffmpeg +OpenAL + java = Android播放器
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树