E库技术学院--您的网络技术顾问! 网站首页素材图片库设计原稿网页模板网站赏析下载中心明星图库E库论坛  
E库技术学院
设为首页
加入收藏
我要投稿
E库首页学院首页 ┊ 图形图象 ┊ 网页设计 ┊ 网络编程 ┊ 数据库 ┊ 服务器 ┊ 建站技术 ┊ 业界新闻 ┊ 作者专栏 ┊ 常用范文 ┊ 预留栏目
  当前位置:学院首页>>网络编程教程>>XML编程教程>>做自动发贴程序-百度贴吧验证码算法
做自动发贴程序-百度贴吧验证码算法
[ 来源:oldxue blog | 作者:oldxue | 时间:2005-12-26 15:06:44 | 浏览:人次 ]
收藏到新浪ViVi收藏到365KEY收藏到我摘 ┊ 双击滚屏 单击停止
  首先,进入一个贴吧,比如"virus吧",地址是http://post.baidu.com/f?kw=virus

图1

  可以看到,页面底部有一个表单,允许匿名发贴。如果要写一个自动发贴的程序,唯一的难点是验证码。

图2


  接下来查看页面源码,发现验证码是个图片,由脚本生成。验证码图片的链接是形如http://post-js.baidu.com/cgi-bin/c?[p1]&[p2]的样子,其中p1和p2是两个随机整数。

图3

  所有验证码图片上面都有4个阿拉伯数字,夹杂一些噪音点。可惜这些噪音点不是随机产生的,举个例子,http://post-js.baidu.com/cgi-bin/c?0&0和http://post-js.baidu.com/cgi-bin/c?65536&0这两个链接将产生两幅完全相同的图片。

  验证图片上面的数字是可以由产生它的链接地址直接计算出来的。公式的c代码如下:

p1 >>= 8;
p2 >>= 8;
p1 = (p1 & 0xff)+((p1 >> 16) << 8);
p2 = (p2 & 0xff)+((p2 >> 16) << 8);
result = (p1 + (p2 << 16)) % 10000;


  图3所示的链接地址可以生成图2中的验证码,对于这个例子,链接中的两个整数:

p1 = 695327974, p2 = 1581465364
p1 = p1/256 = 695327974/256 = 2716124
p2 = p2/256 = 1581465364/256 = 6177599
p1 = p1%256 + p1/65536*256 = 2716124%256 + 2716124/65536*256 = 10716
p2 = p2%256 + p2/65536*256 = 6177599%256 + 6177599/65536*256 = 24127
result = (p1 + p2*65536)%10000 = (10716 + 24127*65536)%10000 = 1581197788%10000 = 7788


  这就是图2中的验证码7788。

“做自动发贴程序-百度贴吧验证码算法”教程到此结束==>||
 相关教程
☉暂无相关教程
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。

投稿作者: oldxue  信息来源: oldxue blog 录入时间: 2005-12-26 15:06:44
投稿信箱: web#iecool.com
设为首页 - 加入收藏 - 关于我们 - 广告服务 - 版权申明 - 友情链接 - 联系方式 - 会员投稿
E库技术学院 © 2004-2005 Edu.IEcool.Com  浙ICP备05015070号