注.图片大小不要超过2MB,
http超时时间根据语言设置成60秒,
图片识别接口、报错接口和余款查询接口为get或post方式提交数据,参数比较长请尽量使用post方式.
接口地址 | 说明 | Content-Type | 图片格式 | 返回格式 |
---|---|---|---|---|
http://api.ai654.cn | 模拟表单post提交 | multipart/form-data;charset=UTF-8 | Byte[] 字节流 | JSON |
PostData 为JSON格式 | application/json;charset=UTF-8 | Base64 编码 | JSON |
参数 | 说明 | 必填 | 类型 | ||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
username | 用户名 | 是 | string | ||||||||||||||||||||||||||||||||||||||||||
password | 密码 | 是 | string | ||||||||||||||||||||||||||||||||||||||||||
typeid |
| 是 | string | ||||||||||||||||||||||||||||||||||||||||||
image | base64图片(注意不含:data:image/jpg;base64,直接图片base64编码)。 | 是 | string | ||||||||||||||||||||||||||||||||||||||||||
byte[] 原始图二进制数据。 | 是 | byte[] | |||||||||||||||||||||||||||||||||||||||||||
imageback | 23类双图滑块的小图,base64图片 | 否 | string | ||||||||||||||||||||||||||||||||||||||||||
23类双图滑块的小图,byte[] 原始图二进制数据。 | 否 | byte[] | |||||||||||||||||||||||||||||||||||||||||||
content | 点选类型的提示汉字,非必需 | 否 | string | ||||||||||||||||||||||||||||||||||||||||||
angle | 旋转类型的旋转角度 默认90 | 否 | string | ||||||||||||||||||||||||||||||||||||||||||
step | 每次旋转的角度 默认10 | 否 | string |
参数 | 说明 | 类型 |
---|---|---|
code | 返回的code。成功为10000 | string |
msg | 请求返回的状态,success成功,fail失败 | string |
data | 成功返回的结果内容。具体包含下面参数 | string |
├ result | 成功返回的结果内容。 | string |
├ id | 成功返回的任务id值,可用于报错 | string |
├ balance | 账户积分余额 | string |
<form method="post" action="http://api.ai654.cn" enctype="multipart/form-data">
<input type="text" name="username" value="你的账号">
<input type="text" name="password" value="你的密码">
<input type="text" name="typeid" value="6">
验证码图片:
<input type="file" name="image">
<input type="file" placeholder="23类双图滑块的小图" name="imageback">
<input type="submit" value="提交">
</form>
{
"code": 10000,
"msg": "success",
"time": "1704450617",
"data": {
"result": "6492",
"id": "1a76b28c70d8a263d7caadbd831be9a9309",
"balance": 1056
}
}
接口地址 | 参数 | 说明 | 必填 | 类型 |
---|---|---|---|---|
http://api.ai654.cn/info | username | 用户名 | 是 | string |
password | 登陆密码 | 是 | string |
参数 | 说明 | 类型 |
---|---|---|
code | 返回的code。成功为10000 | string |
msg | 请求返回的状态,success成功,fail失败 | string |
data | 成功返回的结果内容。具体包含下面参数 | string |
├ balance | 积分余款。 | string |
├ successNum | 总成功识别次数 | string |
├ failNum | 总失败识别次数 | string |
├ todaySuccessNum | 今日成功识别次数 | string |
├ todayFailNum | 今日失败识别次数 | string |
http://api.ai654.cn/info?username=你的用户名&password=你的密码
接口地址 | 参数 | 说明 | 必填 | 类型 |
---|---|---|---|---|
http://api.ai654.cn/info | username | 用户名 | 是 | string |
password | 登陆密码 | 是 | string | |
id | 提交识别任务后系统返回的id号 | 是 | string |
http://api.ai654.cn/error?username=你的用户名&password=你的密码&id=任务id号
code号 | 说明 |
---|---|
10000 | 成功 |
10001 | 参数错误或缺失 |
10002 | 图片资源错误或尺寸超过2M限制 |
10003 | 账号或密码不正确 |
10004 | 账号被冻结 |
10005 | 积分不足 |
10006 | 类型id错误 |
10007 | 图片解析错误 |
10008 | 滑块类型缺少imageback参数 |
10009 | 重复提交,此图片正在处理中... |
10010 | api服务器维护中,请稍候再试! |
10011 | 账号或密码连续错误超过5次,请1分钟后再尝试 |
10012 | 报错时间不能超过60分钟 |
10013 | 请求速度过快,请降低请求速度. |
import base64 import json import requests # //typpid 说明 # //1 纯数字模型1 # //2 纯数字模型2 # //5 纯英文模型2 # //6 英数混合模型1(默认) # //7 英数混合模型2 # //8 闪动gif模型 # //9 计算题模型1 # //10 计算题模型2 # //12 汉字 # //14 回答题 # //15 旋转类型 # //16 点选1个坐标 # //17 点选3个坐标 # //18 点选1 ~ 4个坐标 # //19 点选3 ~ 5个坐标 # //20 点选5 ~ 8个坐标 # //21 轨迹类型 # //22 单图滑块 # //23 双图滑块 # //详细参数说明请查看 《HTTP开发文档》,http://www.ai654.cn/c/doc.html def base64_api(uname, pwd, img, typeid): with open(img, 'rb') as f: base64_data = base64.b64encode(f.read()) b64 = base64_data.decode() data = {"username": uname, "password": pwd, "typeid": typeid, "image": b64} result = json.loads(requests.post("http://api.ai654.cn", json=data).text) if result['msg']=='success': return result["data"]["result"] else: return result["msg"] return "" #23类双滑块验证码 def base64_api23(uname, pwd, img, typeid,imgback): with open(img, 'rb') as f: base64_data = base64.b64encode(f.read()) b64 = base64_data.decode() with open(imgback, 'rb') as f: base64_data = base64.b64encode(f.read()) imagbackb64 = base64_data.decode() data = {"username": uname, "password": pwd, "typeid": typeid, "image": b64,"imageback": imagbackb64} result = json.loads(requests.post("http://api.ai654.cn", json=data).text) if result['msg']=='success': return result["data"]["result"] else: return result["msg"] return "" #报错接口 def reportError(uname, pwd,id): url="http://api.ai654.cn/error?username="+uname+"&password="+pwd+"&id="+id result = json.loads(requests.get(url).text) if result['msg']=='success': return "报错成功" else: return result["msg"] return "" if __name__ == "__main__": img_path = "C:/Users/Administrator/Desktop/2.png" result = base64_api('您的账号', '您的密码', img_path, 6) print(result)
package com; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import org.jsoup.Jsoup; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.util.HashMap; 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= "您的密码"; Map< String, String> data = new HashMap<>(); data.put("username",username); data.put("password", password); //代码下载: https://www.ai654.cn/static/JAVA.rar //typpid 说明 //1 纯数字模型1 //2 纯数字模型2 //5 纯英文模型2 //6 英数混合模型1(默认) //7 英数混合模型2 //8 闪动gif模型 //9 计算题模型1 //10 计算题模型2 //12 汉字 //14 回答题 //15 旋转类型 //16 点选1个坐标 //17 点选3个坐标 //18 点选1 ~ 4个坐标 //19 点选3 ~ 5个坐标 //20 点选5 ~ 8个坐标 //21 轨迹类型 //22 单图滑块 //23 双图滑块 //详细参数说明请查看 《HTTP开发文档》,http://www.ai654.cn/c/doc.html data.put("typeid", "6"); data.put("image", "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"); //base64 例子 String resultStringBase64 = Jsoup.connect("http://api.ai654.cn") .requestBody(JSON.toJSONString(data)) .header("Content-Type", "application/json") .ignoreContentType(true).timeout(120000).post().text(); //文件流 例子 File file = new File("F:\\captcha.png"); String resultString =Jsoup.connect("http://api.ai654.cn") .data("username", "您的账号") .data("password", "您的密码") .data("typeid", "6") .data("image", file.getName(),new FileInputStream(file)).ignoreContentType(true).timeout(120000).post().text(); //文件流 例子处理 JSONObject jsonObject = JSONObject.parseObject(resultString); if (jsonObject.getString("msg").equals("success")) { String result=jsonObject.getJSONObject("data").getString("result"); System.out.println("识别成功结果为:"+result); }else { System.out.println("识别失败原因为:"+jsonObject.getString("msg")); } //base64 例子处理 JSONObject jsonObjectbase64 = JSONObject.parseObject(resultStringBase64); if (jsonObjectbase64.getString("msg").equals("success")) { String result=jsonObjectbase64.getJSONObject("data").getString("result"); System.out.println("识别成功结果为:"+result); }else { System.out.println("识别失败原因为:"+jsonObjectbase64.getString("msg")); } } }
$reportUrl = 'http://api.ai654.cn'; //待识别的图片 $img_content = file_get_contents('C:\Users\Administrator\Desktop\captcha.jpg'); $image = base64_encode($img_content); $ch = curl_init(); //typpid 说明 //1 纯数字模型1 //2 纯数字模型2 //5 纯英文模型2 //6 英数混合模型1(默认) //7 英数混合模型2 //8 闪动gif模型 //9 计算题模型1 //10 计算题模型2 //12 汉字 //14 回答题 //15 旋转类型 //16 点选1个坐标 //17 点选3个坐标 //18 点选1 ~ 4个坐标 //19 点选3 ~ 5个坐标 //20 点选5 ~ 8个坐标 //21 轨迹类型 //22 单图滑块 //23 双图滑块 //详细参数说明请查看 《HTTP开发文档》,http://www.ai654.cn/c/doc.html $postFields = array('username' => '您的账号', //改成你自己的 'password' => '您的密码', //改成你自己的 'typeid' => '6', //改成你需要的 'image' => $image //, 'imageback' => '' //23类双图滑块的小图,base64图片 //, 'content' => '' //点选类型的提示汉字,非必需 //, 'angle' => '' //旋转类型的旋转角度 默认90 //, 'step' => '' //旋转类型每次旋转的角度 默认10 ); curl_setopt($ch, CURLOPT_HEADER, FALSE); curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); curl_setopt($ch, CURLOPT_URL, $reportUrl); curl_setopt($ch, CURLOPT_POST, TRUE); curl_setopt($ch, CURLOPT_POSTFIELDS, $postFields); $data = curl_exec($ch); curl_close($ch); //调试信息 var_dump("返回结果:" . $data); if (json_decode($data)->msg=='success') { $result = json_decode($data)->data->result;//识别的结果 $balance = json_decode($data)->data->balance ; var_dump("识别结果:" . $result); var_dump("剩余积分:" . $balance ); } else { $msg = json_decode($data)->msg;//识别的结果 var_dump("错误原因:" . $msg); }
var client = new RestClient("http://api.ai654.cn"); client.Timeout = -1; var request = new RestRequest(Method.POST); request.AddParameter("username", "您的账号"); request.AddParameter("password", "您的密码"); request.AddParameter("image", "图片的base64(注意不含:data:image/jpg;base64,直接图片base64编码)"); request.AddParameter("typeid", "6"); //typpid 说明 //1 纯数字模型1 //2 纯数字模型2 //5 纯英文模型2 //6 英数混合模型1(默认) //7 英数混合模型2 //8 闪动gif模型 //9 计算题模型1 //10 计算题模型2 //12 汉字 //14 回答题 //15 旋转类型 //16 点选1个坐标 //17 点选3个坐标 //18 点选1 ~ 4个坐标 //19 点选3 ~ 5个坐标 //20 点选5 ~ 8个坐标 //21 轨迹类型 //22 单图滑块 //23 双图滑块 //详细参数说明请查看 《HTTP开发文档》,http://www.ai654.cn/c/doc.html //其他参数根据需要从 http 接口文档中添加 IRestResponse response = client.Execute(request); Console.WriteLine(response.Content);
package main import ( "bytes" "encoding/base64" "encoding/json" "fmt" "io/ioutil" "net/http" ) const CustomUrl = "http://api.ai654.cn" const Username = "您的账号" const Password = "您的密码" func commonVerify(image string) string { //typpid 说明 //1 纯数字模型1 //2 纯数字模型2 //5 纯英文模型2 //6 英数混合模型1(默认) //7 英数混合模型2 //8 闪动gif模型 //9 计算题模型1 //10 计算题模型2 //12 汉字 //14 回答题 //15 旋转类型 //16 点选1个坐标 //17 点选3个坐标 //18 点选1 ~ 4个坐标 //19 点选3 ~ 5个坐标 //20 点选5 ~ 8个坐标 //21 轨迹类型 //22 单图滑块 //23 双图滑块 //详细参数说明请查看 《HTTP开发文档》,http://www.ai654.cn/c/doc.html config := map[string]interface{}{} config["image"] = "图片的base64(注意不含:data:image/jpg;base64,直接图片base64编码)" config["typeid"] = "6" config["username"] = Username config["password"] = Password configData, _ := json.Marshal(config) body := bytes.NewBuffer([]byte(configData)) resp, err := http.Post(CustomUrl, "application/json;charset=utf-8", body) defer resp.Body.Close() data, _ := ioutil.ReadAll(resp.Body) fmt.Println(string(data), err) return string(data) } func main() { // 作者水平有限,各位使用者在调用过程中自行修改 resp, _ := http.Get("http://api.ai654.cn") body, _ := ioutil.ReadAll(resp.Body) b64Str := base64.StdEncoding.EncodeToString([]byte(body)) commonVerify(b64Str) fmt.Println(b64Str) }
const axios = require('axios').default; const fs = require('fs'); const apiUrl = 'http://api.ai654.cn'; const imageFile = 'captcha.jpg';//填写自己的文件路径 let buff = fs.readFileSync(imageFile); let base64data = buff.toString('base64'); //typpid 说明 //1 纯数字模型1 //2 纯数字模型2 //5 纯英文模型2 //6 英数混合模型1(默认) //7 英数混合模型2 //8 闪动gif模型 //9 计算题模型1 //10 计算题模型2 //12 汉字 //14 回答题 //15 旋转类型 //16 点选1个坐标 //17 点选3个坐标 //18 点选1 ~ 4个坐标 //19 点选3 ~ 5个坐标 //20 点选5 ~ 8个坐标 //21 轨迹类型 //22 单图滑块 //23 双图滑块 //详细参数说明请查看 《HTTP开发文档》,http://www.ai654.cn/c/doc.html return axios.post(apiUrl, { 'username': '您的账号',//用户名 'password': '您的密码',//密码 'typeid': '6', 'image': base64data }).then(function (response) { console.log(JSON.stringify(response.data)); });
//typpid 说明 //1 纯数字模型1 //2 纯数字模型2 //5 纯英文模型2 //6 英数混合模型1(默认) //7 英数混合模型2 //8 闪动gif模型 //9 计算题模型1 //10 计算题模型2 //12 汉字 //14 回答题 //15 旋转类型 //16 点选1个坐标 //17 点选3个坐标 //18 点选1 ~ 4个坐标 //19 点选3 ~ 5个坐标 //20 点选5 ~ 8个坐标 //21 轨迹类型 //22 单图滑块 //23 双图滑块 //详细参数说明请查看 《HTTP开发文档》,http://www.ai654.cn/c/doc.html function main(){ var url = "http://api.ai654.cn"; var username="您的账号"; var password="您的密码"; var typeid=6;//根据开发文档进行修改 var autoimg = image.captureScreen(3,0,0,300,400);//截图 var imageBase64=image.toBase64(autoimg);//图片转base64 //图片要回收 image.recycle(autoimg); //下面是基本参数,需要其他参数的根据文档模仿添加 var pa = {"username":username,"password":password,"typeid":typeid,"image":imageBase64}; var x = http.postJSON(url, pa, 100 * 1000, null); toast(" x返回数据-> " + x) var jsonResult = JSON.parse(JSON.stringify(x)); if(jsonResult.msg=="success"){ toast(" result-> " + jsonResult.data.result);//识别结果 toast(" id-> " + jsonResult.data.id);//用于报错 }else{ toast(" message-> " + jsonResult.msg);//错误原因 } } main(); function 报错(){ var url = "http://api.ai654.cn/error"; var pa = {"username":username,"password":password,"id":xxxx};//填写上面识别成功返回的id var x = http.postJSON(url, pa, 100 * 1000, null); toast(" result-> " + x); } 报错();
if (!requestScreenCapture()) { console.show() toastLog("请求截图失败"); exit(); } else { toastLog("请求截图成功"); } captureScreen("/storage/emulated/0/Pictures/1.png"); var clip = images.clip(images.read("/storage/emulated/0/Pictures/1.png"), 10, 102, 529 - 10, 618 - 180); let res = http.post("http://api.ai654.cn", { 'image': images.toBase64(clip), 'username': '您的账号', 'password': '您的密码', 'typeid': '识别类型id', }); let html = res.body.string();//取页面html源码 console.log(html); //typpid 说明 //1 纯数字模型1 //2 纯数字模型2 //5 纯英文模型2 //6 英数混合模型1(默认) //7 英数混合模型2 //8 闪动gif模型 //9 计算题模型1 //10 计算题模型2 //12 汉字 //14 回答题 //15 旋转类型 //16 点选1个坐标 //17 点选3个坐标 //18 点选1 ~ 4个坐标 //19 点选3 ~ 5个坐标 //20 点选5 ~ 8个坐标 //21 轨迹类型 //22 单图滑块 //23 双图滑块 //详细参数说明请查看 《HTTP开发文档》,http://www.ai654.cn/c/doc.html
CURL * curl; CURLcode res; curl = curl_easy_init(); if (curl) { curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "POST"); curl_easy_setopt(curl, CURLOPT_URL, "http://api.ai654.cn"); curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L); curl_easy_setopt(curl, CURLOPT_DEFAULT_PROTOCOL, "https"); struct curl_slist * headers = NULL; headers = curl_slist_append(headers, "Content-Type: application/json"); curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers); const char * data = "{\"username\": \"您的账号\",\"password\": \"您的密码\",\"typeid\": \"识别类型id值\",\"image\": \"图片base64字符串\"}"; curl_easy_setopt(curl, CURLOPT_POSTFIELDS, data); res = curl_easy_perform(curl); } curl_easy_cleanup(curl); //typpid 说明 //1 纯数字模型1 //2 纯数字模型2 //5 纯英文模型2 //6 英数混合模型1(默认) //7 英数混合模型2 //8 闪动gif模型 //9 计算题模型1 //10 计算题模型2 //12 汉字 //14 回答题 //15 旋转类型 //16 点选1个坐标 //17 点选3个坐标 //18 点选1 ~ 4个坐标 //19 点选3 ~ 5个坐标 //20 点选5 ~ 8个坐标 //21 轨迹类型 //22 单图滑块 //23 双图滑块 //详细参数说明请查看 《HTTP开发文档》,http://www.ai654.cn/c/doc.html
// 使用前 先导入图灵插件 按键精灵软件 最上面有个叫资源库的,里面的插件图灵插件 然后再把神梦http插件安装上, // 把下方链接下载下来的ddl文件复制到 按键精灵安装的地方的的下面的plugin 例如(D:\Program Files (x86)\按键精灵\按键精灵2014\plugin) 文件里 //链接: http://www.ai654.cn/static/按键精灵.zip username = "你的账号" password = "你的密码" img_base64 = Plugin.TURING.Image_Base64Encode("C:\Users\xxx\Desktop\2eeb2db57b39d19d4c8c5e82705367e8.png") // 图片地址需要改 img_base64 = Replace(img_base64, "%", "%25") img_base64 = Replace(img_base64, "+", "%2B") img_base64 = Replace(img_base64, " ", "%20") img_base64 = Replace(img_base64, "/", "%2F") img_base64 = Replace(img_base64, "?", "%3F") img_base64 = Replace(img_base64, "#", "%23") img_base64 = Replace(img_base64, "&", "%26") img_base64 = Replace(img_base64, "=", "%3D") TracePrint img_base64 Param = "image=" & img_base64 & "&username=" & username& "&password=" & password & "&typeid=使用类型id 需要改" TracePrint Param 返回结果json = Plugin.SMWH.WinHttp("http://api.ai654.cn", 1, param ,"" ,"" ,"","Content-Type: application/json; charset=UTF-8","","","","","","","UTF-8") TracePrint 返回结果json result = Plugin.SMWH.GetJSON(返回结果json, "data.result") TracePrint result //typpid 说明 //1 纯数字模型1 //2 纯数字模型2 //5 纯英文模型2 //6 英数混合模型1(默认) //7 英数混合模型2 //8 闪动gif模型 //9 计算题模型1 //10 计算题模型2 //12 汉字 //14 回答题 //15 旋转类型 //16 点选1个坐标 //17 点选3个坐标 //18 点选1 ~ 4个坐标 //19 点选3 ~ 5个坐标 //20 点选5 ~ 8个坐标 //21 轨迹类型 //22 单图滑块 //23 双图滑块 //详细参数说明请查看 《HTTP开发文档》,http://www.ai654.cn/c/doc.html
Import "SHTTP.lua" Import "ShanHai.lua" Import "Cjson.lua" //请自行测试更改 // SHTTP.lua 山海师http双端插件 玩按键精灵的都知道吧, //这个插件地址 http://bbs.anjian.com/showtopic.aspx?topicid=697539&forumpage=1&onlyauthor=1&posterid=742060 //或链接: http://www.ai654.cn/static/按键精灵.zip Dim json, table,Result,ID //你的帐号 Dim username="您的账号" //你的密码 Dim password="您的密码" Dim typeid="6" Dim sUrl = "http://api.ai654.cn" Dim sJson, tJson,res,img_base64 Dim filePath = "/Pictures/111.png" // 需要先将图片转成base64编码 TracePrint GetSdcardDir() img_base64 = ShanHai.ReadFileBase(GetSdcardDir() & filePath) TracePrint img_base64 //base64 出来的类似这种 //img_base64 = "/9j/2wCEACgcHiMeGSgjISMtKygwPGRBPDc3PHtYXUlkkYCZlo+AjIqgtObDoKrarYqMyP/L2u71////m8H////6/+b9//gBKy0tPDU8dkFBdviljKX4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4+P/AABEIACsA+gMBIgACEQEDEQH/xAGiAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgsQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+gEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoLEQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo6ery8/T19vf4+fr/2gAMAwEAAhEDEQA/ANmiiigAooyNxXIyBkiigAoqtc3LxyJDCm+VxnBOAB6mi3uXaZoJ4wkoG4YOQw9qALNFFFABRRRQAUUUZGQM8mgAooooAKz9OsJrS4lkkmDhxjjPzc9T7/41oUUAFFFFABRVeK5M106RqDEgwz+/oKsUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFADBDGszShAJGGC2OSKfRRQBTh51W4J6qigfSi441OzI6kOD9MUXCyQXYuY4zIrLtdV6+xpIFluLv7TJGY1VdqK3X3NAF2ioUuUad4SQrqcBSwyeM9P8/nkCagAooooARyyoSq7mA4GetZclzMdQhZrVwUVvlDA5zWrUZgU3InydwXbjtQAsMhkjDFGQns3Wn0UUAFFFFABVW9lfKW8P+skzz6CrVVbqKUTx3EKhmQEFScZFAEUBlsTFDKFMbnaHXsfersj7FzsZhnnbzgev/wCqqZE93LHviMUaNuO48k1eoAjS4idggbDnorAqx/A81JQQGGCARnPNNjkjlXdG6uM4ypzQA6iiigCo9xcu5SC3xg43yHA/Kp4BIqYmdXfrwMVHPDPM+FuDHHjoo5/Olt7SK3JZMlm6sxyTQA+QzBv3ccbDHVnI/oab5s6/ft93p5bg/nnFTUUAQ+fJ/wA+s35p/wDFUefJ/wA+s35p/wDFVNRQBD9qj/uzf9+X/wAKPtUf92b/AL8v/hU1FABRRRQAUUUUAFFFFACOiyKVdQynqCMilUBVCqAABgAdqKKACiiigAooooAKKKKACiiigAooooAKKKKAGyxiWJ42yA6lTj3qrp9gLFX/AHhcuRk4x0//AF1cooAKKKKAI5JljbDCQnGfljZv5Cm/ao/7s3/fl/8ACpqKAIftUf8Adm/78v8A4Ufao/7s3/fl/wDCpqKAIftUf92b/vy/+FTKdygjOCM8jFFFABRRRQB//9k=" // replace special word in img_base64 img_base64 = Replace(img_base64, "%", "%25") img_base64 = Replace(img_base64, "+", "%2B") img_base64 = Replace(img_base64, " ", "%20") img_base64 = Replace(img_base64, "/", "%2F") img_base64 = Replace(img_base64, "?", "%3F") img_base64 = Replace(img_base64, "#", "%23") img_base64 = Replace(img_base64, "&", "%26") img_base64 = Replace(img_base64, "=", "%3D") Dim tData = {null} tData["username"] = username tData["password"] = password tData["typeid"] = typeid tData["image"] = img_base64 res = SHTTP.Post(sUrl,tData,{"headers":{"Content-Type":"application/x-www-form-urlencoded"}}) TracePrint res tJson = Cjson.Decode(res) TracePrint tJson //typpid 说明 //1 纯数字模型1 //2 纯数字模型2 //5 纯英文模型2 //6 英数混合模型1(默认) //7 英数混合模型2 //8 闪动gif模型 //9 计算题模型1 //10 计算题模型2 //12 汉字 //14 回答题 //15 旋转类型 //16 点选1个坐标 //17 点选3个坐标 //18 点选1 ~ 4个坐标 //19 点选3 ~ 5个坐标 //20 点选5 ~ 8个坐标 //21 轨迹类型 //22 单图滑块 //23 双图滑块 //详细参数说明请查看 《HTTP开发文档》,http://www.ai654.cn/c/doc.html
//例子链接: http://www.ai654.cn/static/易.zip //typpid 说明 //1 纯数字模型1 //2 纯数字模型2 //5 纯英文模型2 //6 英数混合模型1(默认) //7 英数混合模型2 //8 闪动gif模型 //9 计算题模型1 //10 计算题模型2 //12 汉字 //14 回答题 //15 旋转类型 //16 点选1个坐标 //17 点选3个坐标 //18 点选1 ~ 4个坐标 //19 点选3 ~ 5个坐标 //20 点选5 ~ 8个坐标 //21 轨迹类型 //22 单图滑块 //23 双图滑块 //详细参数说明请查看 《HTTP开发文档》,http://www.ai654.cn/c/doc.html .版本 2 .支持库 spec .程序集 窗口程序集_启动窗口 .子程序 _按钮1_被单击 网页_发包 () .子程序 网页_发包, , , 本子程序由【YZYZ-菜鸟编程小助手】生成 .局部变量 局_地址, 文本型, , , 调用精易模块 http://ec.125.la/ .局部变量 局_提交, 文本型 .局部变量 局_返回, 文本型 .局部变量 username, 文本型 .局部变量 password, 文本型 .局部变量 typeid, 文本型 .局部变量 image, 文本型 username = “您的账号” password = “您的密码” typeid = “6” image = 编码_BASE64编码 (读入文件 (取运行目录 () + “\” + “1.png”)) 局_地址 = “http://api.ai654.cn” 局_提交 = “{” + #引号 + “username” + #引号 + “: ” + #引号 + username + #引号 + “,” + #引号 + “password” + #引号 + “: ” + #引号 + password + #引号 + “,” + #引号 + “typeid” + #引号 + “: ” + #引号 + typeid + #引号 + “,” + #引号 + “image” + #引号 + “: ” + #引号 + image + #引号 + “}” 调试输出 (image) 局_返回 = 编码_Utf8到Ansi (网页_访问_对象 (局_地址, 1, 局_提交, , , “Content-Type: application/json;charset=utf-8”, , , , , , , , , , , )) 调试输出 (局_返回)
--url = url地址--path = 图片路径--username = 用户名--password = 密码--type = 图片类型idfunction 图片识别(path)import('java.lang.*')import('java.util.*')import('com.nx.assist.lua.LuaEngine')local url="http://api.ai654.cn"local path = "/sdcard/Pictures/2.png" --图片路径local username = "" --用户名local password = "" --密码local type = "7" --图片类型idlocal base64 = getFileBase64(path)print("base64:" .. base64 )local params = {}params["image"] = base64params["username"] = usernameparams["password"] = passwordparams["type"] = typelocal headers = {}headers["User-Agent"] = "Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3"local postRet = LuaEngine.httpPost(url,params,headers,60)if postRet ~= nil thenlocal json = jsonLib.decode(postRet)if json["msg"] == "success" thenreturn json["data"]["result"]endendendprint("验证码:" .. 图片识别(path) )
当报错 服务繁忙,可能原因是图片问题,先检查下图片。如确认无误,联系客服解决
base64要上传正确的字符
在辅助软件上获取到的数据可能是这样:
data:image/jpeg;base64,/9j/5AAFmv39/+AAEEpGSUYAAQEAAAEAAQAA/9sA..................
这张图的正确base64字符是以下:
/9j/5AAFmv39/+AAEEpGSUYAAQEAAAEAAQAA/9sA..................
base64字符串里别误操作加入空格,或是换行符等。这样会破坏base64字符串,造成不是图片或是图片不完整
注册账号后在会员中心验证手机号,账号会自动获得500积分!