常规验证码
接口地址 http://api.waituwang.com/doc/captcha |
接口权限 调用接口消耗歪豆数量,取决于选择的模型 |
输入参数输出参数
接口说明 包括纯数字验证码、纯英文验证码、英数混合验证码等形式验证码识别 | |||
字段 | 类型 | 是否必填 | 描述 |
---|---|---|---|
models | String | Yes | 模型ID,取值范围:[1001,1002,1003] |
token | String | Yes | 令牌,登录后可获取 |
image | String | Yes | 上传图片,图片的base64字符串 |
字段 | 类型 | 描述 | |
time | int | 识别耗时,单位毫秒 | |
text | String | 识别结果 |
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
import java.util.HashMap;
import java.util.Map;
public class TestMain {
public static void main(String[] args) {
Map<String, Object> params = new HashMap();
params.put("image", "");
params.put("models", "1003,1002,1001");
params.put("token", "登录歪兔网获取");
String ocrRst = post("http://api.waituwang.com/doc/captcha", params);
System.out.println(ocrRst);
}
public static String post(String strUrl, Map<String, Object> params) {
try {
StringBuilder postParams = new StringBuilder();
for (Map.Entry<String, Object> param : params.entrySet()) {
if (postParams.length() != 0) {
postParams.append('&');
}
postParams.append(URLEncoder.encode(param.getKey(), "UTF-8")).append('=').append(URLEncoder.encode(String.valueOf(param.getValue()), "UTF-8"));
}
URL url = new URL(strUrl);
HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
httpConn.setDoOutput(true);
httpConn.setDoInput(true);
httpConn.setUseCaches(false);
httpConn.setRequestMethod("POST");
httpConn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
httpConn.setRequestProperty("Connection", "Keep-Alive");// 维持长连接
httpConn.setRequestProperty("Charset", "UTF-8");
httpConn.connect();
DataOutputStream dos = new DataOutputStream(httpConn.getOutputStream());
dos.writeBytes(postParams.toString());
dos.flush();
dos.close();
int resultCode = httpConn.getResponseCode();
if (HttpURLConnection.HTTP_OK == resultCode) {
StringBuffer sb = new StringBuffer();
String readLine;
BufferedReader responseReader = new BufferedReader(new InputStreamReader(httpConn.getInputStream(), "UTF-8"));
while ((readLine = responseReader.readLine()) != null) {
sb.append(readLine).append("\n");
}
responseReader.close();
System.out.println(sb);
return sb.toString();
}
} catch (IOException e) {
e.printStackTrace();
}
return "";
}
}