所谓简单的验证码,就是由一般的字体直接转成的图片,内容只包括了字母、数字甚至是纯数字,同时没有进行任何噪点、叠加、扭曲等特殊处理的验证码。
虽然说现在的验证码生成工艺已经很成熟,但是目前网上的绝大多数的验证码都是简单验证码的,有的时候,我想用程序自动做点查询的事情,然后通过邮件或者飞信发送给自己让自己知道一下,这样就需要对其中的验证码进行自动破解了。例如,有时候发宅急送的快递,想每隔一段时间到宅急送官网查询一下订单状态。
这不,就遭遇了验证码了,像这种纯数字的验证码,用程序来自动识别,实在是太简单了,我们就拿这个“1943”为例子吧,这是一张gif的图片
我们使用gocr只要一个命令就解决了,这里我们需要指定-C参数,让程序只用数字进行匹配,要不然这就匹配成“lg43”了。
gocr -i 1943.gif -C 0-9
要在linux上面安装gocr也比较方便的,执行这些命令就OK了,执行完成了之后gocr会被安装在/usr/local/bin/gocr
wget http://www-e.uni-magdeburg.de/jschulen/ocr/gocr-0.49.tar.gz tar xvf gocr-0.49.tar.gz cd gocr-0.49 ./configure make; make install
纯数字的验证码,这样就能简单解决了,成功率非常高,当然更加复杂的,那么要寻找其他办法了,这里有一篇参考文章,待我日后再做调研了。
请问怎么提取zjs的信息,好像加密了。获取到验证码后怎么办呢。
宅急送的信息没有加密,你可以用firebug看提交表单之后的网络交互过程,然后用代码去模拟这个过程就OK了。你还可以留下你的联系方式,以方便我们进行沟通。