# 验证码识别
异步图形验证码识别程序(集成了若快、优优云、打码兔、云打码等人工打码平台),很多人问为什么要在Decoder中使用反射功能获取策略类,这是因为使用了策略设计模式,便于限制其他开发调用者了解内部策略细节。当然也可以做成直接从外部传递实例化的策略类来实现,各种方式都有利有弊,请自己权衡修改。
### 主要特性
- 采用策略设计模式分离各个打码平台;
- 支持异步方式多并发识别;
- 识别完成后自动事件通知;
- 反射方式获取识别策略;
- 人工识别准确率高达95%,平均速度在2-6秒左右;
### 运行截图
![验证码示例](https://github.com/coldicelion/Captcha-Recognizer/blob/master/Wesley.Component.Captcha.Example/Resources/example.png?raw=true)
![控制台运行示例](https://github.com/coldicelion/Captcha-Recognizer/raw/master/Wesley.Component.Captcha.Example/Resources/running.jpg?raw=true)
### 当前集成了哪些第三方平台?
- 若快打码 [http://www.ruokuai.com ](http://www.ruokuai.com "若快打码")
- 优优云 [http://www.uuwise.com ](http://www.uuwise.com "优优云")
- 云打码 [http://yundama.com ](http://yundama.com "云打码")
- 打码兔 [http://www.dama2.com ](http://www.dama2.com "打码兔")
### 示例代码
static class Program
{
static void Main(string[] args)
{
//第一个参数是第三方平台
//第二个参数是平台账号信息,若此处不设置Account,则需要在策略代码中设置默认值
var decoder = new Decoder(Platform.RuoKuai, new Account
{
SoftId = 0, // 软件ID(此ID需要注册开发者账号才可获得)
TypeId = 0, // 验证码类型(四位字符或其他类型的验证码,根据各平台设置不同值)
SoftKey = null, //软件Key (此Key也需要注册开发者账号才可获得)
UserName = null, //账号(此账号为打码平台的普通用户账号,开发者账号不能进行图片识别)
Password = null //密码
});
decoder.OnStart += (s, e) =>
{
Console.WriteLine("验证码("+e.FilePath+")识别启动……");
};
decoder.OnCompleted += (s, e) =>
{
Console.WriteLine("验证码(" + e.FilePath + ")识别完成:" + e.Code + ",耗时:" + (e.Milliseconds/1000) + "秒,线程ID:"+e.ThreadId);
};
decoder.OnError += (s, e) =>
{
Console.WriteLine("验证码识别出错:" + e.Exception.Message);
};
for (var i = 1; i <= 3; i++)
{
decoder.Decode("c:\\checkcode"+i+".png");
}
Console.ReadKey();
}
}
### 安装方法
- 首先肯定是要去上面这些平台中的一个注册下账号(开发者账号和普通账号都需要注册);
- 其次是将开发者账号中的软件ID、软件Key复制出来;
- 然后登陆普通账号充值1~10元;
- 接着将ThirdPartLibrary文件夹下的DLL类库复制到Wesley.Component.Captcha.Example项目下的bin\debug目录下;
- 若该项目下没有bin\debug文件夹,请重新生成解决方案后再复制过去;
- 最后运行Wesley.Component.Captcha.Example示例项目,按注释设置软件ID、软件Key、账号、密码、验证码类型就可以开始识别了;
### 如何增加新的验证码平台?
- 在项目里的Strategies文件夹中创建新平台的文件夹,名字随意例如:YouYouYun;
- 在YouYouYun文件夹中创建一个继承至IStrategy接口并且后缀为Strategy的策略类如:YouYouYunStrategy.cs;
- 按照其他文件夹中策略类中的实现方式来实现这个类,如果第三方平台有DLL记得复制到bin\debug目录下去;
- 修改项目中的Platform.cs文件,增加新的枚举类型YouYouYun;
- 程序实例化时将自动查找包含YouYouYun关键字的策略类并实例化,调用其识别方法;
没有合适的资源?快使用搜索试试~ 我知道了~
基于C#.NET异步图形验证码识别组件(集成了若快、优优云、打码兔、云打码等平台,准确率95%,速度2-6秒).zip
共35个文件
cs:19个
png:4个
dll:3个
需积分: 5 0 下载量 37 浏览量
2024-03-19
12:14:06
上传
评论
收藏 1.05MB ZIP 举报
温馨提示
【项目资源】: 包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。 包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】: 所有源码都经过严格测试,可以直接运行。 功能在确认正常工作后才上传。 【适用人群】: 适用于希望学习不同技术领域的小白或进阶学习者。 可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】: 项目具有较高的学习借鉴价值,也可直接拿来修改复刻。 对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】: 有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 鼓励下载和使用,并欢迎大家互相学习,共同进步。 # 注意 1. 本资源仅用于开源学习和技术交流。不可商用等,一切后果由使用者承担。 2. 部分字体以及插图等来自网络,若是侵权请联系删除。
资源推荐
资源详情
资源评论
收起资源包目录
基于C#.NET异步图形验证码识别组件(集成了若快、优优云、打码兔、云打码等平台,准确率95%,速度2-6秒)采用策略设计模式.zip (35个子文件)
资料总结
.gitattributes 2KB
Wesley.Component.Captcha.Example
App.config 182B
Properties
AssemblyInfo.cs 1KB
Program.cs 2KB
Resources
running.jpg 43KB
example.png 12KB
checkcode3.png 2KB
checkcode1.png 2KB
checkcode2.png 2KB
Wesley.Component.Captcha.Example.csproj 3KB
ThirdPartLibrary
UUWiseHelper.dll 285KB
CrackCaptchaAPI.dll 1.35MB
yundamaAPI.dll 384KB
Captcha.sln 2KB
Wesley.Component.Captcha
packages.config 140B
Events
OnStartedEventArgs.cs 389B
OnErrorEventArgs.cs 504B
OnCompletedEventArgs.cs 703B
Account.cs 962B
IStrategy.cs 352B
Decoder.cs 3KB
IDecoder.cs 520B
Properties
AssemblyInfo.cs 1KB
Platform.cs 457B
Wesley.Component.Captcha.csproj 3KB
Strategies
DaMaTu
DaMaTuStrategy.cs 1KB
Dama2.cs 31KB
RuoKuai
RuoKuaiStrategy.cs 2KB
RuoKuai.cs 3KB
YouYouYun
YouYouYunStrategy.cs 2KB
YouYouYun.cs 2KB
YunDaMa
YunDaMa.cs 3KB
YunDaMaStrategy.cs 2KB
.gitignore 3KB
README.md 4KB
共 35 条
- 1
资源评论
妄北y
- 粉丝: 1w+
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功