使用阿里云身份证扫描识别接口案例—

简介: 使用阿里云身份证扫描识别接口案例—
/**
   * 
  * @Title: idcard
  * @Description: 该方法的主要作用:扫描身份证
  * @param  @return 设定文件  
  * @return  返回类型:String   
  * @throws
   */
  public void idcard(){
    String host = "https://dm-51.data.aliyun.com";
      String path = "/rest/160601/ocr/ocr_idcard.json";
      String method = "POST";
      Map<String, String> headers = new HashMap<String, String>();
      headers.put("Authorization", "APPCODE " + appcode);
      headers.put("Content-Type", "application/json; charset=UTF-8");
      Map<String, String> querys = new HashMap<String, String>();
      String bodys = "{\"inputs\": [{\"image\": {\"dataType\": 50,\"dataValue\":\""+img+"\"},\"configure\": {\"dataType\": 50,\"dataValue\":\"{\\\"side\\\":\\\"face\\\"}\"}}]}";
      try {
        
        HttpResponse response = HttpUtils.doPost(host, path, method, headers, querys, bodys);
        //System.out.println(EntityUtils.toString(response.getEntity()));
        String result = EntityUtils.toString(response.getEntity());
        System.out.println(result);
         JSONObject jObject =  JSONObject.fromObject(result);
         JSONArray jarray = jObject.optJSONArray("outputs");
         for (int i = 0; i < jarray.size(); i++) {
        JSONObject subject =  jarray.getJSONObject(i);
        String outputValue = subject.get("outputValue").toString();
        /*outputValue={
              "dataType": 50,
              "dataValue": {
                "address": "山西省xxxx041",
                "birth": "19980908",
                "config_str": "{\"side\":\"face\"}",
                "face_rect": {
                  "angle": -90,
                  "center": {
                    "x": 446,
                    "y": 210
                  },
                  "size": {
                    "height": 92,
                    "width": 84
                  }
                },
                "name": "xxx",
                "nationality": "汉",
                "num": "1411251998xxxxxxX",
                "request_id": "20170806200141_c5338b2c4fd601ea7f00c4dcc5c8ee0e",
                "sex": "男",
                "success": true
              }
            }*/
        JSONObject j_outputValue = JSONObject.fromObject(outputValue);
        String dataValue = j_outputValue.getString("dataValue");
        JSONObject j_dataValue = JSONObject.fromObject(dataValue);
        customerInfo = new CustomerInfo();
        customerInfo.setName(j_dataValue.getString("name").toString());  //姓名
        String date = j_dataValue.getString("birth").toString();
        customerInfo.setBorn(date);
        SimpleDateFormat format = new SimpleDateFormat(date);
        Date birth = format.parse(date);
        customerInfo.setBirth(birth);//生日
        
        customerInfo.setAddress(j_dataValue.getString("address").toString());
        customerInfo.setNationality(j_dataValue.getString("nationality").toString());
        customerInfo.setNum(j_dataValue.getString("num").toString());
        customerInfo.setSex(j_dataValue.getString("sex").toString());
        
      }
        System.out.println(customerInfo.getName());
        String jsonc = JSON.toJSONString(customerInfo);
        
      HttpServletResponse response1 = ServletActionContext.getResponse();
      response1.setContentType("text/html;charset=utf-8");
      PrintWriter out = response1.getWriter();
      out.print(jsonc);
      
      } catch (Exception e) {
        e.printStackTrace();
      }
    
  }


相关实践学习
基于Hologres轻量实时的高性能OLAP分析
本教程基于GitHub Archive公开数据集,通过DataWorks将GitHub中的项⽬、行为等20多种事件类型数据实时采集至Hologres进行分析,同时使用DataV内置模板,快速搭建实时可视化数据大屏,从开发者、项⽬、编程语⾔等多个维度了解GitHub实时数据变化情况。
阿里云实时数仓实战 - 用户行为数仓搭建
课程简介 1)学习搭建一个数据仓库的过程,理解数据在整个数仓架构的从采集、存储、计算、输出、展示的整个业务流程。 2)整个数仓体系完全搭建在阿里云架构上,理解并学会运用各个服务组件,了解各个组件之间如何配合联动。 3&nbsp;)前置知识要求:熟练掌握 SQL 语法熟悉 Linux 命令,对 Hadoop 大数据体系有一定的了解 &nbsp; 课程大纲 第一章&nbsp;了解数据仓库概念 初步了解数据仓库是干什么的 第二章&nbsp;按照企业开发的标准去搭建一个数据仓库 数据仓库的需求是什么 架构 怎么选型怎么购买服务器 第三章&nbsp;数据生成模块 用户形成数据的一个准备 按照企业的标准,准备了十一张用户行为表 方便使用 第四章&nbsp;采集模块的搭建 购买阿里云服务器 安装 JDK 安装 Flume 第五章&nbsp;用户行为数据仓库 严格按照企业的标准开发 第六章&nbsp;搭建业务数仓理论基础和对表的分类同步 第七章&nbsp;业务数仓的搭建&nbsp; 业务行为数仓效果图&nbsp;&nbsp;
相关文章
|
小程序
小程序wx.switchTab的跳转传参问题
小程序wx.switchTab的跳转传参问题
441 0
|
网络协议 安全 网络安全
【UDP】——为什么 UDP 数据包不能超过 512 个字节
一开始了解的是 DNS 服务使用的是 UDP 协议,后面看到 DNS 服务主要使用 UDP 协议,在少数情况(传输的数据超过 512 个字节)下也会使用 TCP 协议,因为 UDP 数据包不能超过 512 个字节。那问题来了,为什么 UDP 数据包不能超过 512 个字节呢?
4385 0
【UDP】——为什么 UDP 数据包不能超过 512 个字节
|
2月前
|
网络安全 开发工具 git
配置本地环境以管理Git多账户SSH连接的方法
通过以上步駟设置后, 您可以轻松管理多個 Git 账户并且根据不同项目需求切换 SSH 密匙进行版本控制操作。
236 20
阿里云实名认证api接口怎么调用
当我们注册一个购物网站,或者下载某个游戏,很多地方都需要做实名认证。那么作为购物网站,或者游戏公司,怎么才能判断客户提供的身份证号码是否真实呢?游戏玩家越来越多,我们可能人工去审核这个人提供个的身份证号码是否属实,或者是否是真人。根据国家规定,我们很多游戏都要对未成年游戏时长进行控制,也就是通常大家所谓的游戏防沉迷系统。我们只要把那些进行实名认证玩家的年龄给摘出来以后,就可以判断其是否成年。
阿里云实名认证api接口怎么调用
|
存储 SQL 运维
当「内容科技企业」遇上多模数据库:新榜采用Lindorm打造全域数据“超级底盘”
新榜业务以数据服务提升内容产业信息流通效率,其数据处理需求聚焦于跨平台实时数据融合处理、实时分析检索、批量更新效率三大维度。Lindorm通过多模超融合架构,提供检索分析一体化、多引擎数据共享,分布式弹性扩展等能力,成为支撑新榜内容服务的核心引擎,助力客户在内容生态竞争中持续领跑。
|
云计算
阿里云短信费用收费价格表
阿里云短信费用收费价格表,阿里云短信服务价格表,阿里云短信0.032元一条,阿里云短信价格?阿里云短信怎么收费?阿里云短信多少钱一条,阿里云短信价格0.032元一条
335 1
|
12月前
|
人工智能 边缘计算 JSON
DistilQwen2 蒸馏小模型在 PAI-QuickStart 的训练、评测、压缩及部署实践
本文详细介绍在 PAI 平台使用 DistilQwen2 蒸馏小模型的全链路最佳实践。
|
12月前
|
安全
CORS 跨域资源共享的实现原理是什么?
CORS 跨域资源共享的实现原理是什么?
|
缓存 资源调度 Kubernetes
阿里云云效产品使用合集之如何将两个独立的代码仓库构建并部署到同一个容器内
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
文字识别 API
印刷文字识别操作报错合集之遇到“unmatchedImageType”错误,该如何解决
在使用印刷文字识别(OCR)服务时,可能会遇到各种错误。例如:1.Java异常、2.配置文件错误、3.服务未开通、4.HTTP错误码、5.权限问题(403 Forbidden)、6.调用拒绝(Refused)、7.智能纠错问题、8.图片质量或格式问题,以下是一些常见错误及其可能的原因和解决方案的合集。