用RestTemplate调用百度文字识别接口

来源:互联网 发布:淘宝企业店铺过户 编辑:程序博客网 时间:2024/06/18 06:49

1. 将RestTemplate加载到bean工厂

@Configurationpublic class RestTemplateConfig {    private Logger logger = LogManager.getLogger(getClass());    @Bean    public RestTemplate restTemplate(ClientHttpRequestFactory factory){logger.debug("-----------加载RestTemplate模板----------");        return new RestTemplate(factory);    }        @Bean    public ClientHttpRequestFactory simpleClientHttpRequestFactory(){        SimpleClientHttpRequestFactory factory = new SimpleClientHttpRequestFactory();        factory.setReadTimeout(5000);        factory.setConnectTimeout(15000);        return factory;    }}


2.调用接口,获取单位名称,和统一社会信用代码

//营业执照识别 @Test public void businessLicenseTest() { String url = "https://aip.baidubce.com/rest/2.0/ocr/v1/business_license?access_token="+access_token; String image = getImage("g://picture//c2.png"); HttpHeaders headers = new HttpHeaders(); headers.add("Content-Type", "application/x-www-form-urlencoded"); MultiValueMap<String, String> postParameters = new LinkedMultiValueMap<String, String>(); postParameters.add("image", image); HttpEntity<MultiValueMap<String, String>> requestEntity = new HttpEntity<MultiValueMap<String, String>>( postParameters, headers); String result = template.postForObject(url,requestEntity,String.class); try { result = new String (result.getBytes("iso-8859-1"),"utf-8"); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } System.out.println("--------"+result); printResult(result,"社会信用代码"); }
 public void printResult(String result , String item){ JSONObject jsonObject = new JSONObject(result); JSONObject words_result = (JSONObject)jsonObject.get("words_result"); JSONObject name = (JSONObject)words_result.get(item); String name1 = (String)name.get("words"); System.err.println(item + "--" + name1); } public String getImage(String url){ InputStream in = null; byte[] data = null; //读取图片字节数组 try  { in = new FileInputStream(url);         data = new byte[in.available()]; in.read(data); in.close(); }  catch (IOException e)  { e.printStackTrace(); } String image = Base64.encode(data); return image; }

图片


3,结果



原创粉丝点击