package org.fh.util;import org.json.JSONObject;import java.io.BufferedReader;import java.io.InputStreamReader;import java.net.HttpURLConnection;import java.net.URL;import java.util.List;import java.util.Map;/** * 说明:获取文字识别token类 * from:www.fhadmin.org */public class AuthTextService {    /**     * 获取权限token     * @return 返回示例:     * {     * "access_token": "24.460da4889caad24cccdb1fea17221975.2592000.1491995545.282335-1234567",     * "expires_in": 2592000     * }     */    public static String getAuth() {        // 官网获取的 API Key 更新为你注册的        String clientId = "xxxxx;        // 官网获取的 Secret Key 更新为你注册的        String clientSecret = "xxxxx";        return getAuth(clientId, clientSecret);    }    /**     * 获取API访问token     * 该token有一定的有效期,需要自行管理,当失效时需重新获取.     * @param ak - 百度云官网获取的 API Key     * @param sk - 百度云官网获取的 Securet Key     * @return assess_token 示例:     * "24.460da4889caad24cccdb1fea17221975.2592000.1491995545.282335-1234567"     */    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("GET");            connection.connect();            // 获取所有响应头字段            Map<String, List<String>> 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.err.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;    }}

package org.fh.util;import java.net.URLEncoder;import net.sf.json.JSONArray;import net.sf.json.JSONObject;/** * 说明:手写文字识别 * from:www.fhadmin.org */public class Handwriting {    /**     * @param imgBase64Str     * @param accessToken     * @return     */    public static String handwriting(String imgBase64Str, String accessToken) {            String url = "https://aip.baidubce.com/rest/2.0/ocr/v1/handwriting"; //请求url        try {            String imgParam = URLEncoder.encode(imgBase64Str, "UTF-8");            String param = "image=" + imgParam;            String result = HttpUtil.post(url, accessToken, param);            JSONObject jsonMsg = JSONObject.fromObject(result);            int words_result_num = Integer.parseInt(jsonMsg.getString("words_result_num"));//识别结果数,表示words_result的元素个数            if(words_result_num > 0) {            StringBuffer strb = new StringBuffer();            JSONArray jsonArray= jsonMsg.getJSONArray("words_result");            for(int i=0;i<jsonArray.size();i++){                    JSONObject object = jsonArray.getJSONObject(i);                    String words = object.getString("words");                    strb.append(words);                    strb.append("\r\n");                }            result = strb.toString();            }else {            result = "null";            }            return result;        } catch (Exception e) {            e.printStackTrace();        }        return null;            }}



©著作权归作者所有:来自51CTO博客作者fhspringcloud的原创作品,如需转载,请注明出处,否则将追究法律责任

每一份赞赏源于懂得

赞赏

0人进行了赞赏支持

更多相关文章

  1. 官方示例(十三):3步70行代码开发GIS点坐标技术 ThingJS
  2. 利用端口扫描进行终端合规性检查的一个示例
  3. mysql正则匹配模糊查询某个字段
  4. PHP自定义函数+系统函数库(代码示例)
  5. 如何将smarty安装到MVC架构中(代码示例)
  6. PHP 跨域之header函数(代码示例)
  7. PHP中Trait的用法及示例
  8. PHP作用域和文件夹操作示例
  9. php用逗号格式化数字的方法(代码示例)

随机推荐

  1. Android中启动动画源码讲解
  2. 【翻译】(1)何为Android?(2012-06-30废弃)
  3. android设备添加F1-F12按键功能
  4. android之Tabhost深入讲解二
  5. Android动画播放的常用方式
  6. ContentProvider 翻译
  7. android获得屏幕高度和宽度
  8. Android应用程序安装过程源代码分析(3)
  9. android 获取界面上所有控件
  10. Android开发——控件基础(七)ListView组件: