|||
背景:论坛为了吸引人气,会推出虚拟金币活动,每天登陆可以领取金币,而金币又可以用来获得一些资料。
所以我就写了一个自动领取金币的小机器人。
方法介绍:
我不知道目前的浏览器是否可以调用里面的函数,
所以我自己创建了一个虚拟浏览器,这个浏览器必须自带cookie的功能
然后构建了一个请求,这个请求包含用户名,密码,以及click的动作,
最后通过浏览器向服务器发送请求,并接受服务器的返回的信息
然后就取领金币了,领完金币,记录下时间,以及当前金币的数量
crontab -e #编写定时任务,每天2点2分执行这个任务
2 2 * * * /home/xx/emuch.pl >>/home/xx/log
=============================================================================
#!/usr/bin/perl -w
use strict;
#配合linux 的crontab,每天自动领取金币
use LWP;
use HTTP::Request::Common qw( POST );
my $browser=LWP::UserAgent->new( cookie_jar=>{}); #非常重要
$browser->agent("MyApp/0.1 ");
my $username='Z';
my $password='c';
my $req = POST('http://emuch.net/bbs/logging.php?action=login&t=1383722643', [
username => $username,
password => $password,
loginsubmit=>"Sky"
]);
my $res = $browser->request($req);
#print $res->code;
#http://emuch.net/bbs/memcp.php?action=getcredit
#creditsubmit ?????? 37
#formhash bede779d 17
my $request=POST('http://emuch.net/bbs/memcp.php?action=getcredit',
[
getmode=>'1',formhash=>'bede779d']);
my $response = $browser->request($request);
my @text=split(/\n/,$response->content);
system("date");
foreach my $line(@text)
{
if($line=~/金币: (\d+)/)
{
print $1,"n";
last;
}
}
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-12-23 02:18
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社