OcrResults.java 3.73 KB
package com.webank.h5result;

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;

import javax.net.ssl.HttpsURLConnection;
import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLSocketFactory;
import javax.net.ssl.TrustManager;

import com.webank.one.GetNONCETicket;
import com.webank.one.GetSIGNTicketTest;
import com.webank.one.access_token;
import com.webank.utils.InvertCodeGeneratorUitls;
import com.webank.utils.MyX509TrustManager;
import com.webank.utils.QianMingUitls;
import com.webank.utils.Sha1Uitls;
/**
 * 
 * [人脸识别 服务端查询结果]
 * [功能详细描述]
 * 
 * @author  fwq 
 * @version  [v1.0, 2017年11月6日]
 * @see  [相关类/方法]
 * @since  [产品/模块版本]
 */
public class OcrResults {


	final static  String appid = "";
	final static  String secret = "";
	final static 	String version = "1.0.0";
	final static 	String orderNo = "1234567890123456789012345678900a";

	public static void main(String[] args) throws Exception{

		String tokne= access_token.getToken(appid,secret);

		String signticket= GetSIGNTicketTest.getSignticket(appid,tokne);


		//设置签名所需要的参数
			List<String> codes = InvertCodeGeneratorUitls.genCodes(32, 1);
			String nonce=codes.get(0);
			ArrayList<String> list = new ArrayList<String>();
			list.add(appid);
			list.add(version);
			list.add(nonce);
			list.add(orderNo);
		
    		String sign = QianMingUitls.getqianming(list, signticket);
    		System.err.println();
    		System.err.println("第四步执行刷脸结果请求的"+"sha1加密工具参数      "+list);
    		System.out.println();
	    	System.out.println("获取执行刷脸结果请求的  "+sign.length()+"位签名为       "+sign);
	    	System.out.println("32位字母加数字随机数   "+nonce);
	    	System.out.println();
	    	System.out.println("获取执行刷脸结果请求的"+"sinTicket为   "+signticket);
	    	System.out.println();
    		
	        String tokenUrl="https://miniprogram-kyc.tencentcloudapi.com/api/server/getOcrResult?app_id="+appid+"&nonce="+nonce+"&order_no="+orderNo+"&version=1.0.0&sign="+sign+"&get_file=1";
	        //建立连接
	        URL url = new URL(tokenUrl);
	        
	        
	        System.out.println("获取请求路径为    "+url);
	        HttpsURLConnection httpUrlConn = (HttpsURLConnection) url.openConnection();

	        // 创建SSLContext对象,并使用我们指定的信任管理器初始化
	        TrustManager[] tm = { new MyX509TrustManager() };
	        SSLContext sslContext = SSLContext.getInstance("SSL", "SunJSSE");
	        sslContext.init(null, tm, new java.security.SecureRandom());
	        // 从上述SSLContext对象中得到SSLSocketFactory对象
	        SSLSocketFactory ssf = sslContext.getSocketFactory();

	        httpUrlConn.setSSLSocketFactory(ssf);
	        httpUrlConn.setDoOutput(true);
	        httpUrlConn.setDoInput(true);

	        // 设置请求方式(GET/POST)
	        httpUrlConn.setRequestMethod("GET");

	        // 取得输入流
	        InputStream inputStream = httpUrlConn.getInputStream();
	        InputStreamReader inputStreamReader = new InputStreamReader(inputStream, "utf-8");
	        BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
	        //读取响应内容
	        StringBuffer buffer = new StringBuffer();
	        String str = null;
	        while ((str = bufferedReader.readLine()) != null) {
	            buffer.append(str);
	        }
	        bufferedReader.close();
	        inputStreamReader.close();
	        // 释放资源
	        inputStream.close();
	        httpUrlConn.disconnect();
	        //输出返回结果
       System.out.println(buffer);
		    
	
	}
	
}