• 大小: 386KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-07-19
  • 语言: Java
  • 标签: 腾讯Ai  

资源简介

腾讯Ai人工智能Api请求示例java代码,其中包括ocr识别,名片识别,花草车辆识别,翻译,看图说话等接口使用

资源截图

代码片段和文件信息


import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.Iterator;
import java.util.Set;
import java.util.TreeMap;
import okhttp3.MultipartBody;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.RequestBody;
import okhttp3.Response;
import util.MD5;
import util.TencentAIParamsHelper;

/**
 * Created by zhuxiaoxin on 18-3-1.
 */

public class AiRequestBean {

    public static final String ERROR = “error“;
    private TreeMap mParams;

    private AiRequestBean() {
        mParams = new TreeMap<>();
        //时间戳
        String time_stamp = System.currentTimeMillis() / 1000 + ““;
        //随机字符串
        String nonce_str = TencentAIParamsHelper.getRandomString(10);
        //appId
        String app_id = String.valueOf(TencentAIConstants.APP_ID_AI);
        //将通用参数设置进map中
        mParams.put(“app_id“ app_id);
        mParams.put(“nonce_str“ nonce_str);
        mParams.put(“time_stamp“ time_stamp);
    }

    /**
     * TreeMap生成鉴权信息
     */
    private String generateAppSign() throws UnsupportedEncodingException {
        Set keySet = mParams.keySet();
        StringBuilder sb = new StringBuilder();
        Iterator iterator = keySet.iterator();
        while (iterator.hasNext()) {
            String key = iterator.next();
            String value = mParams.get(key);
            sb.append(“&“).append(key).append(“=“).append(URLEncoder.encode(value “UTF-8“));
        }
        sb.deleteCharAt(0);
        sb.append(“&app_key=“).append(TencentAIConstants.APP_KEY_AI);
        String sign = MD5.getMD5(sb.toString());
        return sign;
    }

    //发起请求
    public String request(String url) throws IOException {
        //生成签名加入到参数列表中
        String sign = generateAppSign();
        mParams.put(“sign“ sign);
        //使用okhttp发起请求
        MultipartBody.Builder builder = new MultipartBody.Builder().setType(MultipartBody.FORM);
        Iterator iterator = mParams.keySet().iterator();
        while (iterator.hasNext()) {
            String key = iterator.next();
            String value = mParams.get(key);
            builder.addFormDataPart(key value);
        }
        RequestBody requestBody = builder.build();
        Request request = new Request.Builder().header(“Content-Type“ “application/x-www-form-urlencoded“)
                .url(url)
                .post(requestBody)
                .build();
        OkHttpClient okHttpClient = new OkHttpClient();
        Response response = okHttpClient.newCall(request).execute();
        if (!response.isSuccessful()){
            return ERROR;
        }
        return response.body().string();
    }

    public static class Builder {
        private AiRequestBean targetBean;

        public Builder() {
            targetBean = new AiRequestBean();
        }

        public AiRequestBean build() {
            return targetBean;
        }

        public Builder addParam(String key Str

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-03-01 11:29  TecentAiDemo\
     文件         514  2018-03-01 11:23  TecentAiDemo\TecentAiDemo.iml
     目录           0  2018-03-01 11:39  TecentAiDemo\.idea\
     文件        8792  2018-03-01 11:39  TecentAiDemo\.idea\uiDesigner.xml
     文件         264  2018-03-01 11:22  TecentAiDemo\.idea\modules.xml
     文件         273  2018-03-01 11:22  TecentAiDemo\.idea\misc.xml
     文件       33077  2018-03-01 11:39  TecentAiDemo\.idea\workspace.xml
     目录           0  2018-03-01 11:29  TecentAiDemo\out\
     目录           0  2018-03-01 11:37  TecentAiDemo\assets\
     文件      368128  2018-02-05 08:45  TecentAiDemo\assets\ocr_common09.jpg
     目录           0  2018-03-01 11:39  TecentAiDemo\src\
     文件        3194  2018-03-01 11:39  TecentAiDemo\src\AiRequestBean.java
     文件        2621  2018-03-01 11:39  TecentAiDemo\src\AiRequestManager.java
     文件         336  2018-03-01 11:37  TecentAiDemo\src\Main.java
     文件         991  2018-03-01 11:39  TecentAiDemo\src\TencentAIConstants.java
     目录           0  2018-03-01 11:23  TecentAiDemo\.idea\libraries\
     文件        1483  2018-03-01 11:23  TecentAiDemo\.idea\libraries\com_squareup_okhttp3_okhttp_3_9_0.xml
     目录           0  2018-03-01 11:29  TecentAiDemo\out\production\
     目录           0  2018-03-01 11:39  TecentAiDemo\src\util\
     文件        1207  2018-03-01 11:39  TecentAiDemo\src\util\FileUtil.java
     文件        2718  2018-03-01 11:39  TecentAiDemo\src\util\base64Util.java
     文件        1168  2018-03-01 11:39  TecentAiDemo\src\util\MD5.java
     文件         842  2018-03-01 11:39  TecentAiDemo\src\util\TencentAIParamsHelper.java
     目录           0  2018-03-01 11:37  TecentAiDemo\out\production\TecentAiDemo\
     文件         889  2018-03-01 11:37  TecentAiDemo\out\production\TecentAiDemo\Main.class
     文件        1585  2018-03-01 11:29  TecentAiDemo\out\production\TecentAiDemo\FileUtil.class
     文件        2022  2018-03-01 11:29  TecentAiDemo\out\production\TecentAiDemo\base64Util.class
     文件        2460  2018-03-01 11:36  TecentAiDemo\out\production\TecentAiDemo\AiRequestManager.class
     文件        1008  2018-03-01 11:29  TecentAiDemo\out\production\TecentAiDemo\TencentAIConstants.class
     文件        4489  2018-03-01 11:29  TecentAiDemo\out\production\TecentAiDemo\AiRequestBean.class
     文件         187  2018-03-01 11:29  TecentAiDemo\out\production\TecentAiDemo\AiRequestBean$1.class
............此处省略3个文件信息

评论

共有 条评论