Java实现百度云vin识别接口代码

本文是service调用shibie方法 controller略

public class ImagesService {public static String getResult() {String otherHost = "https://aip.baidubce.com/rest/2.0/ocr/v1/vin_code";// 本地图片路径  String str="C:\\Users\\gudiankj-yay\\Desktop\\news\\timg.jpg";String filePath = "str";  try {  byte[] imgData = FileUtil.readFileByBytes(filePath);String imgStr = Base64Util.encode(imgData);String params = URLEncoder.encode("image", "UTF-8") + "=" + URLEncoder.encode(imgStr, "UTF-8");/** * access_token有过期时间, 客户端可自行缓存,过期后重新获取。 */  String accessToken = getAuth("ak", "sk");String result = HttpUtil.post(otherHost, accessToken, params);return result;//System.out.println(result);  } catch (Exception e) {  e.printStackTrace(); return "error";}  }public static String getAuth(String ak, String sk) {  // 获取token地址  String authHost = "https://aip.baidubce.com/oauth/2.0/token?";  String getAccessTokenUrl = authHost  // 1. grant_type为固定参数  + "grant_type=client_credentials"  // 2. 官网获取的 API Key  + "&client_id=" + ak  // 3. 官网获取的 Secret Key  + "&client_secret=" + sk;  try {  URL realUrl = new URL(getAccessTokenUrl);// 打开和URL之间的连接  HttpURLConnection connection = (HttpURLConnection) realUrl.openConnection();connection.setRequestMethod("POST");connection.connect();  // 获取所有响应头字段  Map> map = connection.getHeaderFields();// 遍历所有的响应头字段  for (String key : map.keySet()) {  System.err.println(key + "--->" + map.get(key));  }  // 定义 BufferedReader输入流来读取URL的响应  BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));String result = "";  String line;  while ((line = in.readLine()) != null) {  result += line;  }  /** * 返回结果示例 */  System.out.println("result:" + result);  JSONObject jsonObject = new JSONObject(result);String access_token = jsonObject.getString("access_token");  return access_token;  } catch (Exception e) {  System.err.printf("获取token失败!");  e.printStackTrace(System.err);  }  return null;  }public  String shibie(String filePath){String otherHost = "https://aip.baidubce.com/rest/2.0/ocr/v1/vin_code";// 本地图片路径filePath = "本地图片路径";try {byte[] imgData = FileUtil.readFileByBytes(filePath);String imgStr = Base64Util.encode(imgData);String params = URLEncoder.encode("image", "UTF-8") + "=" + URLEncoder.encode(imgStr, "UTF-8");/*线上环境access_token有过期时间, 客户端可自行缓存,过期后重新获取。*/String accessToken = getAuth("ak", "sk");String result = HttpUtil.post(otherHost, accessToken, params);System.out.println(result);return result;} catch (Exception e) {e.printStackTrace();return "error";}}

}

工具类附下文


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部