base64
import com.alibaba.fastjson.JSONObject;
import org.jsoup.Jsoup;
import java.util.Map;
public class Test {
/**
* 图像识别
* @throws IOException
* 注意: maven依赖
* < dependency>
* < groupId>org.jsoup< /groupId>
* < artifactId>jsoup< /artifactId>
* < version>1.11.3< /version>
* < /dependency>
*
*/
public static void main(String[] args) throws IOException {
//用户名
String username= "用户名";
//密码
String password= "密码";
//备注字段: 可以不写
String remark="输出计算结果";
Map< String, String> data = new HashMap<>();
data.put("username",username);
data.put("password", password);
//一、图片文字类型(默认 3 数英混合):
//1 : 纯数字
//1001:纯数字2
//2 : 纯英文
//1002:纯英文2
//3 : 数英混合
//1003:数英混合2
//4 : 闪动GIF
//7 : 无感学习(独家)
//11 : 计算题
//1005: 快速计算题
//16 : 汉字
//32 : 通用文字识别(证件、单据)
//66: 问答题
//49 :recaptcha图片识别
//二、图片旋转角度类型:
//29 : 旋转类型
//三、图片坐标点选类型:
//19 : 1个坐标
//20 : 3个坐标
//21 : 3 ~ 5个坐标
//22 : 5 ~ 8个坐标
//27 : 1 ~ 4个坐标
//48 : 轨迹类型
//四、缺口识别
//18:缺口识别
//五、拼图识别
//53:拼图识别
data.put("typeid", "3");
data.put("remark", remark);
data.put("image", "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");
//base64 例子
String resultString = Jsoup.connect("http://api.ttshitu.com/predict")
.requestBody(JSON.toJSONString(data))
.header("Content-Type", "application/json")
.ignoreContentType(true).timeout(120000).post().text();
//文件流 例子
File file = new File("/path/to/file.ext");
String resultString=Jsoup.connect("http://api.ttshitu.com/predict")
.data("username", "user")
.data("password", "12345")
.data("typeid", "7")
.data("remark", remark)
.data("image", file.getName(), new FileInputStream(file)).ignoreContentType(true).timeout(120000).post().text();
JSONObject jsonObject = JSONObject.parseObject(resultString);
if (jsonObject.getBoolean("success")) {
String result=jsonObject.getJSONObject("data").getString("result");
System.out.println("识别成功结果为:"+result);
}else {
System.out.println("识别失败原因为:"+jsonObject.getString("message"));
}
}
}