很多網站辦抽獎為了增加參與人數,
有時會提供一些轉寄mail抽獎的獎品,
這個網站,
當然,像我這麼懶的人是不可能一個一個去輸入朋友的email帳號來轉寄的,
寫個程式去做那樣的事應該自己來做打字練習好太多了。
要寫個應付像上面提的那個網址的程式是很簡單的,
唯一比較需要花點時間的,
大概只有填表單(Form)這件事,
但如果裝了ActivePerl的WWW::Mechanize模組後,
這件事也只是像一塊蛋糕,
直接在「命令提示字元」下指令
mech-dump --form http://www.wishstar.com.tw/school/inner6-1.html
表單的長像全部都給輸出出來了,
程式就只要根據這個表單的樣子來填就行了,
真是好極了:)
如果不喜事情太簡單,
當然也可以用打開瀏覽器的「檢視」「原始檔」來一個一個觀察INPUT的地方,
只是這樣需要考驗一下眼力。
最後,也是最重要的,
要準備一些想轉寄的email帳號,
把這些帳號放在一個檔案裡讀進來,
或是把他擺在____後讀進來,
於是大功告成。

use WWW::Mechanize;

my $mech=WWW::Mechanize->new();
while(){
chomp;
print $_, "\n";
&do_mail(&SplitMailAt($_));
sleep(10);
}

sub SplitMailAt{
my $str=shift;
$str=~ /^(.*)\@.*$/;
my $mailid=$1;
my $mailaddr=$str;
return($mailid, $mailaddr);
}

sub do_mail{
my $mailid=shift;
my $mailaddr=shift;

print $mailid, "\n";
print $mailaddr, "\n";
my $url='http://www.wishstar.com.tw/school/inner6-1.html';
$mech->get($url);
$mech->form_number(1);
$mech->field('SenderName'=>'jck11');
$mech->field('SenderEmail'=>'jck11@ms94.url.com.tw');
$mech->field('ACC'=>'04');
$mech->field('SenderTel'=>'12345678');
$mech->field('SenderMobile'=>'0918123456');
$mech->field('ccName1'=>$mailid);
$mech->field('ccEmail1'=>$mailaddr);
$mech->field('ccName2'=>'');
$mech->field('ccEmail2'=>'');
$mech->field('ccName3'=>'');
$mech->field('ccEmail3'=>'');
$mech->submit();
print $mech->response->status_line, "\n";
}

__DATA__
jck11@ms94.url.com.tw

jck11 發表在 痞客邦 PIXNET 留言(1) 人氣()


留言列表 (1)

發表留言
  • xup6u6zp
  • (滿天星go go校園)網頁是您設計的嗎??
    真不錯唷..........^-^
  • 耶不是我寫的,那個網站真得可以抽獎的^^

    jck11 於 2007/12/03 12:36 回覆