• 验证码识别接口、多种样式验证码识别接口、中英文验证码识别接口


    验证码识别接口、多种样式验证码识别接口、中英文验证码识别接口

    • 本文提供一个基于OCR和机器学习的验证码识别接口,能够识别较复杂的中文、英文验证码,在OCR的基础上针对验证码进行算法优化。
    • 本接口是收费的(最低0.5分1次调用,试用请添加WX:xujian_cq
    • 请求必要的code可以通过搜索小程序“数字续坚”,在首页签到后取得
    • 接口内容不包含敏感信息,如有侵权,请联系作者删除。

    0 先看效果

    • 验证码原图(被csdn的水印挡住了,仔细看还是能看到p3gb)
      在这里插入图片描述
    • 接口识别结果:
    {"code":200,"msg":"succeed.","data":"p3gb"}
    

    1 接口功能

    • 本文提供一个基于OCR和机器学习的验证码识别接口,能够识别较复杂的中文、英文验证码,在OCR的基础上针对验证码进行算法优化。

    2 接口用法

    2.1 重要参数

    • 入参
    序号项目说明
    1接口地址https://www.xujian.tech/atlapi/ocr/yzm/{code}
    2请求方式POST
    3请求参数1code用来识别用的code,在WX小程序“数字续坚”首页签到取得,不会变化
    4请求参数2imgBase64
    5请求参数3type验证码类型,不同类型识别的验证码不同,价格也不同,见下表
    • 验证码类型和价格(即type字段解释)
    • 类型该如何选择?见文末示例
    序号名称价格(分)
    1通用数英(≤5位)00.5
    2通用数英plus(≤5位)12
    3通用数英plus(≤6位)22.5
    4通用数英5-8位30.8
    5通用数英9~11位41
    6通用数字计算题52
    6通用中文计算题62.5

    - 重要说明:code不可变更,请注意保密

    • 出参标准格式
    序号项目说明
    1返回值格式JSONObject含code、data、msg
    2返回值1code200为成功,其他表示失败
    3返回值2msg成功(succeed.)、失败的文字描述
    4返回值3data识别到的验证码

    2.2 返回值

    • 返回一个JSON对象
    序号参数名类型说明
    1dataString识别到的验证码

    2.3 请求示例

    # 下方地址中的code请到数字续坚小程序首页签到获取,不会变化,注意保密
    post https://www.xujian.tech/atlapi/ocr/yzm/${YourCodeForm数字续坚小程序}
    
    • Java Demo:
    		//下方代码主要依赖了hutool工具,maven如下
    //        
    //            cn.hutool
    //            hutool-all
    //            5.8.20
    //        
    		
            String code = "YourCodeForm数字续坚小程序";
    		//把图片文件转为base64表示
            String base64Str = Base64.encode(new File("C:\\Users\\Administrator\\Desktop\\temp\\20240510091754.png"));
    
            Map<String,Object> codeParams = new HashMap<>();
            codeParams.put("imgBase64",base64Str);
            codeParams.put("type", "0");
    
            //本地测试
            String yzmData = HttpRequest
                    .post("https://www.xujian.tech/atlapi/ocr/yzm/" + code)
                    .contentType("application/x-www-form-urlencoded")
                    .form(codeParams)
                    .execute()
                    .body();
    
            System.out.println(yzmData);
    

    2.4 返回示例

    {"code":200,"msg":"succeed.","data":"p3gb"}
    

    3 收费方式

    • 按次收费,见2.1验证码类型和价格
    • 试用请添加WX:xujian_cq

    4 消费查询

    • 打开网站,登录后在“API服务-验证码识别”中可查看调用情况
    • 也可以在上方网站发现更多有趣的事情
    // 地址
    https://www.xujian.tech/monitor
    

    5 验证码类型说明和示意

    5.1 通用数英(≤5位)

    • 数字或英文组合的1~4位验证码。
      在这里插入图片描述

    5.2 通用数英plus(≤5位)

    • 其他类型准确率不满足可使用本类型,不超过5位。
      在这里插入图片描述

    5.3 通用数英plus(≤6位)

    • 数英1~6位plus,不超过6位包含6位。
      在这里插入图片描述

    5.4 通用数英5-8位

    • 数字或英问组合的5~8位验证码。
      在这里插入图片描述

    5.5 通用数英9~11位

    • 通用数英9~11位。

    5.6 通用数字计算题

    • 通用数字计算题。
      在这里插入图片描述

    5.7 通用中文计算题

    • 通用中文计算题。
      在这里插入图片描述

    5.8 其他复杂定制类型

    • 联系我讨论
  • 相关阅读:
    职场:“工作”的理解
    实用技术-Restful
    Pytest+Allure生成可添加附件的测试报告
    使用gdb调试Python程序
    Java ArrayList扩容底层原理深挖
    【Python+selenium】自动化生成测试报告
    ASP.NET Core - 缓存之内存缓存(下)
    SpringBoot-24-整合持久层-自定义整合DruidDataSource数据源
    Python学习:json对象与string相互转换教程
    Promise 的状态, promise 指定多个成功/失败回调函数,都会调用吗?
  • 原文地址:https://blog.csdn.net/xujianflying/article/details/139531969