冲刺二

今天做了什么:今天在百度云注册了账号,申请了动植物识别的api接口。获取到了secre,token。

代码负责连接api

package com.example.vastland;

//import static com.hui.testend.Sample.HTTP_CLIENT;

import com.baidu.aip.util.Base64Util;
import com.google.gson.Gson;

import org.json.JSONException;
import org.json.JSONObject;

import java.io.IOException;
import java.net.URLEncoder;

import okhttp3.MediaType;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.RequestBody;
import okhttp3.Response;

public class altest {
public static final String APP_ID = "67914673";
public static final String API_KEY = "KFPD5Xj9LW9B9tjrxwJPp2iZ";
public static final String SECRET_KEY = "edCx3x0XVhDVLJeO6zF992ur4Hkx5X3f";
static final OkHttpClient HTTP_CLIENT = new OkHttpClient().newBuilder().build();
public MyObject getdata(String img){
String url = "https://aip.baidubce.com/rest/2.0/image-classify/v2/advanced_general";
try {
// 本地文件路径
String filePath = img;
byte[] imgData = FileUtil.readFileByBytes(filePath);
String imgStr = Base64Util.encode(imgData);
String imgParam = URLEncoder.encode(imgStr, "UTF-8");

String param = "image=" + imgParam;
// 注意这里仅为了简化编码每一次请求都去获取access_token,线上环境access_token有过期时间, 客户端可自行缓存,过期后重新获取。
//String accessToken ="24.5b4e50df3a158e65ad823d1c98ebb396.2592000.1717769126.282335-67914673" ;
String accessToken=getAccessToken();
String result = HttpUtil.post(url, accessToken, param);
Gson gson=new Gson();
MyObject a=gson.fromJson(result,MyObject.class);
System.out.println(a.getResult());
for (MyObject.ResultItem b:a.getResult()
) {
System.out.println(b.getKeyword());
}
System.out.println(result);

return a;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
public MyObject getdata1(byte[] img){
String url = "https://aip.baidubce.com/rest/2.0/image-classify/v2/advanced_general";
try {
// 本地文件路径

byte[] imgData =img;
String imgStr = Base64Util.encode(imgData);
String imgParam = URLEncoder.encode(imgStr, "UTF-8");

String param = "image=" + imgParam;
// 注意这里仅为了简化编码每一次请求都去获取access_token,线上环境access_token有过期时间, 客户端可自行缓存,过期后重新获取。
//String accessToken ="24.5b4e50df3a158e65ad823d1c98ebb396.2592000.1717769126.282335-67914673" ;
String accessToken=getAccessToken();
String result = HttpUtil.post(url, accessToken, param);
Gson gson=new Gson();
MyObject a=gson.fromJson(result,MyObject.class);
System.out.println(a.getResult());
for (MyObject.ResultItem b:a.getResult()) {
System.out.println(b.getKeyword());
}
System.out.println(result);

return a;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
static String getAccessToken() throws IOException, JSONException {
MediaType mediaType = MediaType.parse("application/x-www-form-urlencoded");
RequestBody body = RequestBody.create(mediaType, "grant_type=client_credentials&client_id=" + API_KEY
+ "&client_secret=" + SECRET_KEY);
Request request = new Request.Builder()
.url("https://aip.baidubce.com/oauth/2.0/token")
.method("POST", body)
.addHeader("Content-Type", "application/x-www-form-urlencoded")
.build();
Response response = HTTP_CLIENT.newCall(request).execute();
return new JSONObject(response.body().string()).getString("access_token");
}
}

posted @ 2024-04-22 13:16  ZzHhyao  阅读(11)  评论(0)    收藏  举报