当前位置: 首页 > 编程笔记 >

基于C#实现12306的动态验证码变成静态验证码的方法

伊铭
2023-03-14
本文向大家介绍基于C#实现12306的动态验证码变成静态验证码的方法,包括了基于C#实现12306的动态验证码变成静态验证码的方法的使用技巧和注意事项,需要的朋友参考一下

本以为这次12306的动态验证码很厉害,什么刷票软件都不行了,看了以后发现并不是很复杂,估计不出两日刷票软件又会卷土重来,开来要一个验证码很难遏制这些刷票软了。

这次换的动态验证码采用的是GIF格式在客户端输出,至于要拿到这个gif文件然后把动态图的各张图片拼凑起来就能得到完整的静态验证码,接下来就是识别静态验证码的事情了。

比如这张动态验证码

他的静态效果就是

下面是随手写的代码,有点混乱

Image imgGif = Image.FromFile(Application.StartupPath + @"\getPassCodeNew.gif");
FrameDimension ImgFrmDim = new FrameDimension(imgGif.FrameDimensionsList[0]);
System.Drawing.Bitmap bp = new Bitmap(imgGif.Size.Width, imgGif.Size.Height);
int nFrameCount = imgGif.GetFrameCount(ImgFrmDim);
for (int i = 0; i < nFrameCount; i++)
{
imgGif.SelectActiveFrame(ImgFrmDim, i);
System.Drawing.Bitmap nbp = new Bitmap(imgGif);
Color dd = nbp.GetPixel(1, 1);
if (i == 0)
{
for (int x = 0; x < nbp.Width; x++)
{
for (int y = 0; y < nbp.Height; y++)
{
bp.SetPixel(x, y, dd);
}
}
}
for (int x = 0; x < nbp.Width; x++)
{
for (int y = 0; y < nbp.Height; y++)
{
Color c = nbp.GetPixel(x, y);
if (c == dd) continue;
bp.SetPixel(x, y, c);
}
}
}
bp.Save(Application.StartupPath + @"\Frame.jpg", ImageFormat.Bmp);

以上代码有点乱,希望大家不要放弃,其实这些代码写的都是精华,代码比较实用,有哪些不明白的地方欢迎大家留言,我会在第一时间和大家取得联系的,谢谢大家一直以来对小牛知识库网站的支持。

 类似资料:
  • 本文向大家介绍使用Python神器对付12306变态验证码,包括了使用Python神器对付12306变态验证码的使用技巧和注意事项,需要的朋友参考一下 临近春节,呐喊教程小编带领大家用Python抢火车票! 首先我们需要splinter 安装: pip install splinter -i http://pypi.douban.com/simple –trusted-host pypi.doub

  • 本文向大家介绍js实现验证码干扰(动态),包括了js实现验证码干扰(动态)的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了js实现验证码动态干扰的具体代码,供大家参考,具体内容如下 效果一 效果二 代码一 代码二 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

  • 本文向大家介绍iOS本地动态生成验证码的方法,包括了iOS本地动态生成验证码的方法的使用技巧和注意事项,需要的朋友参考一下 前几天app注册被人攻击了,从网上找了这个先保存下。。。。 用于ios本地动态生成验证码,效果如下: 导入CoreGraphics.framework 用于绘制图形 封装UIView,便捷使用,代码如下: 界面添加验证码 以上所述是小编给大家介绍的iOS本地动态生成验证码的方

  • 本文向大家介绍基于JS实现横线提示输入验证码随验证码输入消失(js验证码的实现),包括了基于JS实现横线提示输入验证码随验证码输入消失(js验证码的实现)的使用技巧和注意事项,需要的朋友参考一下 最近做微信端的页面遇到了一个之前没有遇到过的一个页面,刚开始放在那没有去写,可是等其他页面都写好的时候,还是得回过头来研究这个页面问题,刚开始我请教了公司的移动研发,从他那里得到启发,最终实现了这个效果,

  • 本文向大家介绍Java仿12306图片验证码,包括了Java仿12306图片验证码的使用技巧和注意事项,需要的朋友参考一下 由于要做一个新项目,所以打算做一个简单的图片验证码。 先说说思路吧:在服务端,从一个文件夹里面找出8张图片,再把8张图片合并成一张大图,在8个小图里面随机生成一个要用户验证的图片分类,如小狗、啤酒等。在前端,访问这个页面时,把图片加载上去,用户在图片上选择提示所需要的图片,当

  • 参考以下pojo: 我的应用程序基本上是一个基于Spring启动的REST API,它公开了两个endpoint,一个用于创建用户,另一个用于检索用户。 “用户”属于某些类别,a组、b组等。我从帖子请求的标题中获得。 我需要在运行时验证用户数据,并且验证可能因用户组而异。 例如,属于a组的用户可能将电话号码作为可选字段,而对于其他组,它可能是必填字段。 正则表达式也可能因组而异。 我需要能够配置s