Chinaunix
标题:
通过推荐链接批量注册Dropbox账号 (欢迎拍砖)
[打印本页]
作者:
hhs66317
时间:
2013-04-19 17:51
标题:
通过推荐链接批量注册Dropbox账号 (欢迎拍砖)
前沿:
因为自己的Dropbox空间快满了,就想着使用自己的邀请链接,搞几个僵尸账号,给自己增加点免费空间。
弄了几个之后,就想着用脚本搞一搞,之前听 Perlchina 群中的 扶凯 推介 Mojo,就想着用来练练手。
结果自己水平太有限了,就只能用最基本的get、post实现了,汗一个。。。
选择发在CU,也是 扶凯 的建议,虽然这个脚本很简单,限于自身水平有限,一定有很多优化空间,还望各位CU不吝拍砖。
不被拍砖,永远没长进!
dropbox_register.pl
## 用于批量注册Dropbox账号
#!/usr/bin/perl
use strict;
use warnings;
use Mojo::UserAgent;
use 5.010;
#这个地方就填自己的邀请链接
my $referral_link = 'https://www.dropbox.com/referrals/NTE2NDQzNzMwMTk?src=global9';
#这个匿名哈希用于表单数据
my $form = {
"t" => '',
"referral_code" => '',
"src" => '',
"lname" => '',
"fname" => '',
"email" => '',
"password" => 'perlchina',
"tos_agree" => 'on',
"register-submit" => '1',
"register-submit-dummy" => '%E5%88%9B%E5%BB%BA%E5%B8%90%E6%88%B7',
};
#这里是根据邀请链接填充 $form 中的 referral_code 和 referral_code
if ($referral_link =~ m{^https://www.dropbox.com/referrals/(?<referral_code>[^?]+)\?src=(?<src>.+)$}) {
($form->{referral_code},$form->{src}) = ($+{referral_code},$+{src});
} else {
die "$referral_link is not a valid referral link!\n";
}
#从外部读入要注册邮件列表
#根据email填充 $form 中的 email 、lname、fname
#调用注册函数,完成注册操作
while (<>) {
chomp;
$form->{email} = $_;
if (/^(?<lname>[^-]+)-(?<fname>[^@]+)@/) {
($form->{lname},$form->{fname}) = ($+{lname},$+{fname});
} else {
die "$form->{email} is not a valid email address!\n";
}
say "Start to register account $form->{email} ...";
®ister;
}
#注册函数
#先访问邀请链接,拿到 $form 中需要的 t
#通过post发送表单完成注册
sub register {
my $ua = Mojo::UserAgent->new;
my $cookie_jar = $ua->cookie_jar;
my $res = $ua->max_redirects(5)->get($referral_link);
# Find request cookies
for my $cookie ($cookie_jar->find(Mojo::URL->new($referral_link))) {
$form->{t} = $cookie->value if $cookie->name eq "t";
}
my $tx = $ua->post($referral_link => form => $form);
}
复制代码
附上注册用邮件列表文件
email.lst
hhs66317-perl001@yahoo.com.cn
hhs66317-perl002@yahoo.com.cn
hhs66317-perl003@yahoo.com.cn
hhs66317-perl004@yahoo.com.cn
hhs66317-perl005@yahoo.com.cn
hhs66317-perl006@yahoo.com.cn
hhs66317-perl007@yahoo.com.cn
hhs66317-perl008@yahoo.com.cn
hhs66317-perl009@yahoo.com.cn
hhs66317-perl010@yahoo.com.cn
hhs66317-perl011@yahoo.com.cn
复制代码
作者:
小perl
时间:
2013-05-06 15:50
表单是怎么提取出来的???
作者:
hhs66317
时间:
2013-05-13 17:40
小perl 发表于 2013-05-06 15:50
表单是怎么提取出来的???
表单是通过抓包拿到的!
开启抓包工具,通过浏览器正常注册,就可以在抓包工具中看到注册时,浏览器提交的表单信息
作者:
小perl
时间:
2013-05-13 18:33
回复
3#
hhs66317
原来这样,我以为手动找的
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2