B2B网络软件

标题: AIWORK联合图鉴实现全流程点击验证码 [打印本页]

作者: YYPOST群发软件    时间: 5 小时前
标题: AIWORK联合图鉴实现全流程点击验证码


AIWORK联合图鉴实现全流程点击验证码 B2B网络软件

AIWORK联合图鉴实现全流程点击验证码 B2B网络软件

AIWORK联合图鉴实现全流程点击验证码 B2B网络软件


详细版:

function sendImageToAPI(username, password, typeid) {
    var url = "http://api.ttshitu.com/predict"; // API地址


    // 截取全屏图像并裁剪验证码区域
    var img = screen.screenShotFull().cutImagePercent(0.17, 0.412, 0.83, 0.57).toBase64(); 


    // 准备POST请求的数据
    var postData = JSON.stringify({
        username: username,
        password: password,
        typeid: typeid,
        image: img // Base64 编码的图像
    });


    // 使用OKHttp发送JSON请求并返回响应
    return new okHttp().json(url, postData);
}


// 使用该函数的示例
var response = sendImageToAPI("账号", "密码", ID这个是数字不要弄错了);
printl(response); // 打印返回的结果


// 解析JSON响应并提取"result"字段的值
var parsedResponse = JSON.parse(response);
var result = parsedResponse.data.result;


// 假设result是一个数组,例如["123", "456"]
// 将字符串转换为数字
var x = Number(result[0]);
var y = Number(result[1]);


printl(`原始X: ${x}, 原始Y: ${y}`);


// 假设您有一个基准坐标或者偏移量,这里我用基准坐标baseX和baseY作为示例
// 请根据实际情况替换下面的基准坐标
var baseX = 100; // 示例基准X坐标
var baseY = 200; // 示例基准Y坐标


// 计算实际的X和Y坐标
var X坐标 = x + baseX;
var Y坐标 = y + baseY;


printl(`实际X: ${X坐标}`);
printl(`实际Y: ${Y坐标}`);


// 打印结果
printl(`X: ${X坐标}, Y: ${Y坐标}`);

如果想简单点调用的可以这样:

function sendImageToAPI(username, password, typeid) {
    // 定义API的URL地址
    var url = "http://api.ttshitu.com/predict";

    // 截取全屏图像并裁剪验证码区域,然后将其转换为Base64编码
    var img = screen.screenShotFull().cutImagePercent(0.17, 0.412, 0.83, 0.57).toBase64();

    // 准备POST请求的数据,包括用户名、密码、验证码类型ID和Base64编码的图像
    var postData = JSON.stringify({
        username: username,
        password: password,
        typeid: typeid,
        image: img // Base64 编码的图像
    });

    // 使用OKHttp发送JSON请求并返回响应
    return new okHttp().json(url, postData);
}

// 调用sendImageToAPI函数,传入用户名、密码和验证码类型ID
var response = sendImageToAPI("账号", "密码", ID这个是数字不要弄错了);

// 解析API返回的JSON响应
var parsedResponse = JSON.parse(response);

// 提取JSON响应中的"result"字段的值
var result = parsedResponse.data.result;

// 将字符串转换为数字
var x = Number(result[0]);
var y = Number(result[1]);

// 定义基准坐标
var baseX = 100; // 示例基准X坐标
var baseY = 200; // 示例基准Y坐标

// 计算实际的X和Y坐标,通过将基准坐标与解析得到的验证码坐标相加
var X坐标 = x + baseX;
var Y坐标 = y + baseY;

// 打印计算得到的实际X和Y坐标
printl(`X: ${X坐标}, Y: ${Y坐标}`);
  1. 函数定义:

    • sendImageToAPI(username, password, typeid):定义了一个名为sendImageToAPI的函数,该函数接受三个参数:用户名、密码和验证码类型ID。
  2. API URL:

    • var url = "http://api.ttshitu.com/predict";:定义了API的URL地址,该地址用于发送验证码识别请求。
  3. 截取和裁剪图像:

    • var img = screen.screenShotFull().cutImagePercent(0.17, 0.412, 0.83, 0.57).toBase64();:这段代码执行了三个主要操作:
      • screen.screenShotFull():截取整个屏幕的图像。
      • cutImagePercent(0.17, 0.412, 0.83, 0.57):根据百分比裁剪图像,提取验证码区域。这里的参数表示裁剪区域的左上角和右下角的百分比坐标。
      • toBase64():将裁剪后的图像转换为Base64编码格式,以便于通过POST请求发送。
  4. 准备POST数据:

    • var postData = JSON.stringify({ username: username, password: password, typeid: typeid, image: img });:将用户名、密码、验证码类型ID和Base64编码的图像封装成一个JSON对象,并将其转换为字符串格式,以便于HTTP请求。
  5. 发送POST请求:

    • return new okHttp().json(url, postData);:使用okHttp库发送一个POST请求,请求的URL地址和数据分别为urlpostData。该函数返回API的响应。
  6. 调用函数并处理响应:

    • var response = sendImageToAPI("gmgne", "As123456", 27);:调用sendImageToAPI函数,传入具体的用户名、密码和验证码类型ID,并将API的响应存储在response变量中。
    • var parsedResponse = JSON.parse(response);:将API返回的JSON字符串解析为JavaScript对象。
    • var result = parsedResponse.data.result;:从解析后的对象中提取data.result字段的值,该字段通常包含验证码识别的结果。
  7. 字符串转数字:

    • var x = Number(result[0]);:将result数组中的第一个元素(假设是一个字符串)转换为数字,并赋值给x
    • var y = Number(result[1]);:将result数组中的第二个元素转换为数字,并赋值给y
  8. 定义基准坐标:

    • var baseX = 100;:定义了一个基准X坐标,用于后续计算。
    • var baseY = 200;:定义了一个基准Y坐标,用于后续计算。
  9. 计算实际坐标:

    • var X坐标 = x + baseX;:将基准X坐标与解析得到的X坐标相加,计算出实际的X坐标。
    • var Y坐标 = y + baseY;:将基准Y坐标与解析得到的Y坐标相加,计算出实际的Y坐标。
  10. http://bbs.aiwork24.com/thread-112-1-1.html





欢迎光临 B2B网络软件 (http://bbs.niubt.cn/) Powered by Discuz! X3.2