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

news2025/1/17 0:54:55

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

  • 本文提供一个基于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如下
//        <dependency>
//            <groupId>cn.hutool</groupId>
//            <artifactId>hutool-all</artifactId>
//            <version>5.8.20</version>
//        </dependency>
		
        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 其他复杂定制类型

  • 联系我讨论

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1810265.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【最新鸿蒙应用开发】——总结ArkUI生命周期

鸿蒙ArkUI相关的生命周期都有哪些? 1. UIAbility生命周期 onCreate、onWindowStageCreate、onForeground、onBackground、onWindowStageDestroy、onDestroy。 onCreate&#xff1a;Create状态为在应用加载过程中&#xff0c;UIAbility实例创建完成时触发&#xff0c;系统会调…

python tushare股票量化数据处理:笔记

1、安装python和tushare及相关库 matplotlib pyplot pandas pandas_datareader >>> import matplotlib.pyplot as plt >>> import pandas as pd >>> import datetime as dt >>> import pandas_datareader.data as web 失败的尝试yf…

计蒜客:C10 第四部分:深度优先搜索基础 引爆炸弹

【C代码】 #include<bits/stdc.h> using namespace std; int n,m,ans0; char maze[501][501]; bool vis[501][501]; void dfs(int x,int y){vi…

解析中断引起的调度延迟问题

解析软中断引起的调度延迟问题 一、导言二、线程调度的原理三、如何定位中断导致的调度延迟方法一:使用内核 ftrace工具方法二:使用开源ko工具方法三:修改内核源码添加打印一、导言 硬件中断和软件中断都有可能导致调度延迟,但两者的影响方式略有不同。 硬件中断:当硬件设…

stm32MP135裸机编程:启动流程分析

0 参考资料 轻松使用STM32MP13x - 如MCU般在cortex A核上裸跑应用程序.pdf STM32MP135AD数据手册.pdf1 stm32MP135裸机启动流程分析 1.1 启动方式 stm32MP135支持8种启动方式&#xff1a; 注&#xff1a; UART和USB启动并不是指通过UART/USB加载程序&#xff0c;而是通过UA…

Spring Boot 项目启动时在 prepareContext 阶段做了哪些事?

概览 如果你对Spring Boot 启动流程还不甚了解&#xff0c;可阅读《Spring Boot 启动流程详解》这篇文章。如果你已了解&#xff0c;那就让我们直接看看prepareContext() 源码。 private void prepareContext(ConfigurableApplicationContext context, ConfigurableEnvironme…

2024.6.7

思维导图 代码 #include <iostream>using namespace std;//创建一个RMB类 class RMB {friend const RMB operator(const RMB &p1, const RMB &p2);friend const RMB operator-(const RMB &p1, const RMB &p2);friend bool operator>(const RMB &…

《Windows API每日一练》3.1 绘制文本

本节我们将讲述如何在窗口客户区绘制文本。如果在客户区绘制文本&#xff0c;需要将整个客户区或指定文本所在的矩形区域设置为无效区域&#xff0c;然后产生WM_PANIT消息&#xff0c;调用GDI函数绘制文本。此外&#xff0c;如果要绘制文本还需要使用设备环境上下文句柄&#x…

阿里发布最强开源大模型通义千问Qwen2,国产最好用的LLM

前言 近年来&#xff0c;大模型技术发展迅速&#xff0c;开源模型的出现为AI研究和应用带来了新的活力。在这一背景下&#xff0c;阿里云通义千问团队发布了全新升级的Qwen2系列开源模型&#xff0c;为国内外开发者提供了更强大的工具和更丰富的选择。 Huggingface模型下载&am…

springboot3 数据访问

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 数据访问 一、准备数据库表二、项目创建2.1、使用spring initializer 创建2.2、添加数据库配置2.3 mapper2.4 编写controller2.5 总结 三、其他数据源 一、准备数据库表 CRE…

追觅科技2025校园招聘测评已发(真题)

&#x1f4e3;追觅科技 2025校园招聘测评已发&#xff0c;正在申请的小伙伴看过来哦&#x1f440; ㊙本次校招面向全球于2023年7月 - 2025年12月期间毕业的同学&#xff0c;开放了四大类岗位&#xff1a;营销类、研发类、制作供应类、职能类~ ✅测评解析 &#x1f449; 测评自…

Kimichat使用案例012:用Kimichat拆解雷军在小米汽车SU7发布会上的演讲技巧

文章目录 一、介绍二、输入内容三、输出内容四、继续追问五、继续回答六、讲解对比七、对比回答相似之处:不同之处:八、职场人士如何借鉴九、借鉴内容一、介绍 小米SU7发布会可以说是非常成功。雷军的演讲技巧是发布会成功的重要因素之一,很值得借鉴学习。 可以借助Kimichat…

攻防世界---misc---gif

1、题目描述 2、下载附件&#xff0c;是一堆黑白图片&#xff0c;看到这里我一头雾水 3、看别人写的wp&#xff0c;说是白色表示0&#xff0c;黑色表示1。按照顺序写出来后得到 4、解码的时候&#xff0c;把逗号去掉。二进制转字符串得到&#xff1a; 5、 flag{FuN_giF}

「OC」UI练习(一)—— 登陆界面

「OC」登陆界面 明确要求 一个登陆界面的组成&#xff0c;用户名提示以及输入框&#xff0c;密码提示提示以及输入框&#xff0c;登陆按钮&#xff0c;以及注册按钮&#xff0c;根据以上要求我们将我们的组件设置为成员变量。 //viewControl.h #import <UIKit/UIKit.h>…

Kimichat使用案例013:用kimichat批量识别出图片版PDF文件中的文字内容

文章目录 一、介绍二、具体操作三、信息识别一、介绍 图片版的PDF文件,怎么才能借助AI工具来提取其中全部的文字内容呢? 第一步:将PDF文件转换成图片格式 具体方法参见文章: Kimichat使用案例011:用kimichat将PDF自动批量分割成多个图片(零代码编程) 第二步:识别图片中…

Go模板页面浏览器显示HTML源码问题

<!--* Title: This is a file for ……* Author: JackieZheng* Date: 2024-06-09 17:00:01* LastEditTime: 2024-06-09 17:01:12* LastEditors: Please set LastEditors* Description:* FilePath: \\GoCode\\templates\\index.html --> <!DOCTYPE html> <html …

【安装笔记-20240610-Linux-免费域名服务之eu.org】

安装笔记-系列文章目录 安装笔记-20240610-Linux-免费域名服务之eu.org 文章目录 安装笔记-系列文章目录安装笔记-20240610-Linux-免费域名服务之eu.org 前言一、软件介绍名称&#xff1a;eu.org主页官方介绍 二、安装步骤测试版本&#xff1a;openwrt-23.05.3-x86-64注册填写…

Java基础——多线程(一)

概念 线程和进程 进程&#xff1a;进程是程序的基本执行实体 线程&#xff1a;线程是操作系统能够进行运算调度的最小单位&#xff0c;它被包含在进程之中&#xff0c;是进程的实际运作单位 简单理解&#xff1a;应用软件中互相独立&#xff0c;可以同时运行的功能。多线程可以…

C++ | Leetcode C++题解之第144题二叉树的前序遍历

题目&#xff1a; 题解&#xff1a; class Solution { public:vector<int> preorderTraversal(TreeNode *root) {vector<int> res;if (root nullptr) {return res;}TreeNode *p1 root, *p2 nullptr;while (p1 ! nullptr) {p2 p1->left;if (p2 ! nullptr) {…

Nginx配置详细解释:(4)高级配置

目录 1.网页的状态页 2.Nginx第三方模块(echo) 3.变量 4.自定义访问日志 5.Nginx压缩功能 6.https功能 7.自定义图标 Nginx除了一些基本配置外&#xff0c;还有一些高级配置&#xff0c;如网页的状态&#xff0c;第三方模块需要另外安装&#xff0c;支持变量&#xff0c…