美文网首页Java学习笔记技术干货
身份证识别接口编写的JAVA调用示例

身份证识别接口编写的JAVA调用示例

作者: yaojq | 来源:发表于2016-09-20 10:25 被阅读538次

此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.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调用示例

    此java文章是基本聚合数据证件识别接口来演示,基本HTTP POST请求上传图片并接收JSON数据来处理。使用前...

  • Android与WebView的js交互

    WebView调用调用Java方法 允许WebView加载js 编写js接口类 给webview添加js接口 An...

  • httpClient

    java代码中用httpClient调用API接口,简单示例,为了以后复制粘贴事先准备了几个PHP接口,会已jso...

  • JS调用阿里云OCR身份证识别

      因为工作原因,需要调取阿里云OCR身份证识别,但是阿里云给的请求示例都是后台调用的代码,由于特殊原因,我需要的...

  • 接口文档编写示例

    API接口文档的编写已不是什么新鲜事,但文档的编写有时还需针对看文档的人,有所侧重。大多数时候我编写API文档都是...

  • 《JNI开发——Java与C之间的桥梁 二》

    用java 语言编写的程序能否调用C语言编写的程序类库呢? 同样 C(程序)能否调用 java语言编写的api呢?...

  • Android 原生与WebView JS的交互

    webview调用java方法 1.允许webview加载js : 2.编写js接口类 3.给webview添加j...

  • Android webview 混合开发 HTML(JS)与Ja

    1. 在WebView启用javascript 2. 编写JS调用JAVA函数的接口类 注意每个函数上需要添加@J...

  • C++调用lua方式

    目标 使用C++调用lua接口 示例 lua代码(test.lua) C++调用示例(lua_test.cpp) ...

  • 一键生成 API 文档的妙招

    一般接口文档编写完成后,就要开始编写调用接口的代码,很多开发团队都采用传统的通过接口文档的方式来编写接口。但在接口...

网友评论

    本文标题:身份证识别接口编写的JAVA调用示例

    本文链接:https://www.haomeiwen.com/subject/vlxoettx.html