资源简介
腾讯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.xm
文件 264 2018-03-01 11:22 TecentAiDemo\.idea\modules.xm
文件 273 2018-03-01 11:22 TecentAiDemo\.idea\misc.xm
文件 33077 2018-03-01 11:39 TecentAiDemo\.idea\workspace.xm
目录 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.xm
目录 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\ba
文件 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\ba
文件 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个文件信息
- 上一篇:学生学籍管理系统java 数据库
- 下一篇:Java编写的姐希尔伯特矩阵
评论
共有 条评论