• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

delphi实现discuz论坛自动签到功能

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

愚人节那天学校 校内论坛搞了个论坛签到活动,在4月3号和4号24点整,签到前3名同学送校园网上网卡密一个月(35元)。手工去抢很难抢到,一旦提早提交又要重新选择“心情”或打字,可能这个时候就被别人抢了,而且服务器的时间并不一定和百度上看到的时间一致(通过查看该服务器上的其他站点的时间和百度上看到的并不一致),虽然可以算出差值,但还是有风险,所以手工是很困难的。

思路:本来是想使用IdHTTP模拟提交页面,无奈cookies没模拟成功,那就使用最笨的方法,模拟鼠标指针点击。获取签到页面提交的参数,自己写个提交的页面 sign.html,delphi中的WebBrowser打开sign.html,在23点58分时打开程序,Timer每隔500ms去点击提交按钮,然后WebBrowser重新打开sign.html,一直循环到n次,设置timer的enabled为false ,循环结束。

步骤:

 

1. 论坛的签到插件是 Sign EverydayVer 7.0.1 Build N0922

2.查看签到页面的源代码,提取出有效的提交参数,并伪造表单,自己重新写个提交页面:

<form name="qiandao" method="post" action="http://XXXX.edu.cn/plugin.php?identifier=sign&amp;module=sign&amp;operation=qiandao">
<input type="hidden" name="action" value="qiandao" />
<input type="radio" name="qdxq" value="kx" checked="checked" />
<input type="radio" name="qdmode" value="1" checked="checked" />
<input type="text" name="todaysay"  />
<input type="submit" name="card" value="#提交#" style="height:200px; width:500px;" / >  
</form>

保存成 sign.html。
 
3.delphi 主要实现代码:

procedure TForm1.FormCreate(Sender: TObject);
begin
  //打开sign.html,和程序放在同一目录下
  WebBrowser1.Navigate('file://' + ExtractFilePath(Application.Exename) + 'sign.html');
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
  k:=k+1;   //k为当前循环的次数
  label1.Caption:=floattostr(max-k); //max为循环的总次数
  if(k>max) then
    begin
      timer1.Enabled:=false;
    end;
  setCursorPos(400,400); //设置鼠标指针位置,定位按钮位置
  mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0); //模拟按下
  mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);  //模拟放开
  //sleep(100);  
  //一提交后 WebBrowser1马上打开sign.html ,有人说这样的话提交失败概率很大,但是我两次都抢到了。
  WebBrowser1.Navigate('file://' + ExtractFilePath(Application.Exename) + 'sign.html');
end;
 
4.等到23点58分左右时打开程序,让它自动去提交。 
 
过会打开论坛发现出现了2个签到帖,而且都是我发的。嗯,卡密到手。

第2天签到也一样,抢的人多不仅有多个签到帖,而且在一个签到帖里我发了2个帖。坛友意见很大,所以第2次签到的卡密没了。

界面:

 

版主发给我的信息:

版主以为我故意发了个伪帖,其实是程序提交太快造成的,可爱的版主我错了,哈哈。

OK,卡密到手,免费上一个月的校园网。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
CheckMenuItemFunctioninDelphi发布时间:2022-07-18
下一篇:
DelphiWindowsAPI判断文件共享锁定状态(OpenFile和CreateFile两种方法) ...发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap