- 论坛徽章:
- 0
|
前沿:
因为自己的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
复制代码 |
|