提取AAMVA数据- Java

本教程展示了如何在Java应用程序中使用LEADTOOLS Cloud Services提取AAMVAID数据。

概述
总结 本教程介绍如何制作ExtractAAMVAID请求并使用Java应用程序中的LEADTOOLS云服务处理结果。
完成时间 30分钟
项目 下载教程项目(5kb)
平台 LEADTOOLS云服务API
IDE IntelliJ
语言 Java
开发许可 下载LEADTOOLS

所需的知识

请务必查看以下网站,了解有关LEADTOOLS云服务API的信息。

服务计划

LEADTOOLS服务计划提供:

服务计划 描述
免费试用 免费评估
页面包 已付费页包
订阅 预付每月已处理页数

要进一步探索这些产品,请参阅LEADTOOLS托管云服务页面。

获取所需的“应用ID”和“应用密码”请参见使用LEADTOOLS托管的云服务创建帐户和应用程序

创建项目并添加Maven依赖项

在IDE中,使用Maven创建一个新的Java项目,并将以下必需的Maven依赖项添加到pom.xml文件:

<依赖><groupId>org.json</ groupId><artifactId>json</ artifactId><版本>20210307</版本></依赖>

添加ExtractAAMVAID代码

创建了项目并添加了包之后,就可以开始编码了。

项目文件,打开App.java。添加以下内容进口语句在顶部。

Java
进口org.json.JSONArray;进口org.json.JSONObject;进口java.io.File;进口java.io.FileNotFoundException;进口java.net.URI;进口java.net.http.HttpClient;进口java.net.http.HttpRequest;进口java.net.http.HttpRequest.BodyPublisher;进口java.net.http.HttpResponse;进口java.nio.charset.StandardCharsets;进口java.util.Base64;进口java.util.concurrent.CompletableFuture;进口java.util.concurrent.ExecutionException;进口java.util.concurrent.TimeUnit;进口java.util.concurrent.TimeoutException;

添加一个名为extractAAMVAID ()。的extractAAMVAID ()方法发送ExtractAAMVAID请求LEADTOOLS云服务API。如果成功,将返回一个唯一标识符(GUID),然后使用该GUID进行查询。

将下面的代码添加到extractAAMVAID ()方法。

Java
私人静态无效extractAAMVAID () {HttpClient client = HttpClient. newhttpclient ();//文件中标记为处理的第一页intfirstPage = 1;//发送值-1将向服务表示应该处理文件中的所有页面。intlastPage = -1;//如果使用URL到文件字符串fileURL =“http://demo.leadtools.com/images/cloud_samples/aamva_sample.png”conversionUrl = String.format(“认可/ ExtractAAMVAID吗?珍宝= % s&lastPage = % s&fileurl = % s”, firstPage, lastPage, fileURL);Results = postAsync(converversionurl);、客户端);//如果上传文件为多部分内容:// uploadFile = new File("path/to/ File ");// String converversionurl = String.format("Recognition/ExtractAAMVAID? "firstPage=%s&lastPage=%s", firstPage, lastPage);// Results = postAsync(converversionurl, uploadFile, client);如果(results.getStatusCode() == 200) {//服务返回的唯一IDSystem.out.println (服务返回的唯一ID:+ results.getData ());查询(results.getData(),客户端);}其他的System.out.println ("请求失败,响应如下:"+ results.getStatusCode ());}}

接下来,创建一个名为查询(字符串id, HttpClient客户端)类提供的GUIDextractAAMVAID ()方法。如果成功,响应体将以JSON格式包含所有请求数据。一定要打给查询()方法中的extractAAMVAID ()方法,如上所示。将下面的代码添加到查询()方法。

Java
私人静态无效查询(字符串id, HttpClient客户端){queryUrl = String.format(“查询?id = % s "、身份证);结果结果;JSONObject =JSONObject ();intfileStatus = 0;试一试结果= postAsync(queryUrl,、客户端);returnedData =JSONObject (results.getData ());fileStatus = returnedData.getInt(“FileStatus”);如果(fileStatus != 200) Thread.sleep(5000);}(InterruptedException e) {/ / e.printStackTrace ();}}(fileStatus == 0 || fileStatus == 100 || fileStatus == 123);System.out.println ("文件已处理完毕,返回代码:"+ fileStatus);如果(fileStatus != 200) {返回}parseJson (returnedData.get (“RequestData”) .toString ());}

然后,创建两个名为parseJson (json字符串)postAsync(字符串路径,文件文件,HttpClient客户端),这两个函数都将在查询()方法,如上所示。

将下面的代码添加到parseJson ()方法处理返回的JSON数据。

Java
私人静态无效parseJson(字符串json) {JSONArray =JSONArray (json);(对象:requestObject: requestArray) {如果(requestObject运算符JSONObject) {JSONObject返回= (JSONObject);System.out.println (“服务类型:”+ requestReturn.getString (“ServiceType”));System.out.println (返回的数据:“+ requestReturn.get (“数据”) .toString ());System.out.println ();}}}

将下面的代码添加到postAsync ()方法创建客户端连接,通过该连接请求GUID和JSON数据。上面写着替换为应用程序ID替换为应用程序密码请务必输入相应的应用程序ID和密码。有关如何获取应用程序ID和密码的信息,请参阅使用LEADTOOLS托管的云服务创建帐户和应用程序教程。

Java
私人静态postAsync(字符串路径,对象主体,HttpClient客户端){字符串AppId =“以申请编号代替”字符串密码=“以应用程式密码取代”字符串authHeader =“基本”+字符串(Base64.getEncoder()。编码(AppId +”:“+密码).getBytes (StandardCharsets.UTF_8)));hostdservicesurl =“https://azure.leadtools.com/api/”BodyPublisher thisBody = HttpRequest.BodyPublishers.ofString(“零”);如果(身体运算符BodyPublisher) {thisBody = (BodyPublisher) body;}其他的如果(身体运算符文件){试一试thisBody = HttpRequest.BodyPublishers.ofFile(((文件)body).toPath());}(FileNotFoundException e) {/ / e.printStackTrace ();}}HttpRequest request = HttpRequest. newbuilder (). post (thisBody).uri (URI。创建(hostdservicesurl +路径).header (“接受”“application / json”.header (“授权”authHeader).header (“内容类型”“文本/普通”.build ();CompletableFuture> result = client。(请求,HttpResponse.BodyHandlers.ofString是以());结果结果=结果();results.setData (”“);results.setStatusCode (0);试一试results.setData (result.thenApply (HttpResponse::身体)。(5, TimeUnit.SECONDS));results.setStatusCode (result.thenApply (HttpResponse:: statusCode)。(5, TimeUnit.SECONDS));}(InterruptedException | ExecutionException | TimeoutException) {e.printStackTrace ();}返回结果;}

应用程序将需要一个助手类来存储帖子请求。创建一个名为结果并将下面的代码添加到其中。

Java
私人静态结果{私人字符串数据;私人intstatusCode;公共字符串getData() {返回数据;}公共无效setData(字符串数据){.data =数据;}公共intgetStatusCode () {返回statusCode;}公共无效setStatusCode (intstatusCode) {.statusCode = statusCode;}}

运行项目

为了测试运行此代码,请务必添加extractAAMVAID ();静空总管部分。

按下运行项目Alt + F5,或选择运行>调试应用程序

如果正确地执行了这些步骤,控制台将出现,应用程序将显示从返回的JSON数据中解析的AAMVAID信息。

提取amvaid信息

总结

本教程展示了如何在Java应用程序中通过LEADTOOLS Cloud Services API提取AAMVAID信息。

另请参阅

iOS
188金宝搏的网址客服|支持|联系我们|知识产权公告
©1991 - 2023领先科技有限公司版权所有。