[新技术]Perl写的灌水机(转载)

  
  
  
  
#!perl
# Demonstrate the programming using OLE with Perl
# earn money at eetop.cn/bbs
# By Alan
# 2010-05-15

use warnings ;
use strict ;
use Data:: Dumper ;
use Win32:: OLE qw( EVENTS ) ;

 

my $time ;
$| = 1 ;
open LOG , ">>guanshui.txt" or die $! ;
my $j = 0 ;
my $url = 'http://www.eetop.cn/bbs/thread-252321-1-2.html' ;


Win32:: OLE -> Initialize ( Win32::OLE:: COINIT_OLEINITIALIZE );
my $ie = Win32:: OLE -> new ( 'InternetExplorer.Application' ) or die "error starting IE" ;

$ie -> { visible } = 0 ;
Win32:: OLE -> WithEvents ( $ie , \& Event , 'DWebBrowserEvents2' );
Win32:: OLE -> Option ( Warn => 3 );

 

for ( 0 .. 1000 ) {
     $j ++ ;
     print "Nagivate to $url\n" ;
     $ie -> navigate ( $url );
     Win32:: OLE -> MessageLoop ();
     sleep 65 ;
}

$ie -> Quit () if ( defined $ie );

 
sub Event
{
     my ( $obj , $Event , @Args ) = @_ ;
     my $IEObject = shift @Args ;
 
     #print "$obj $Event @Args/n";
     if ( $Event eq 'DocumentComplete' ) {
         my $Doc = $IEObject -> { Document };
         if ( $Doc -> { URL } =~ "$url" ) {
             my $elem = $Doc -> getElementById ( 'fastpostmessage' );
             my $form = $Doc -> getElementById ( 'fastpostform' );

             $time = localtime ();
             $elem -> { value } = '我是来灌水挣钱的...,, 拿分走人...By uestc_apache @ ' . $time ;
             $form -> submit ();
             print " $j 灌水成功 @ $time\n" ;
             print LOG "灌水成功 $j \n" ;
             Win32:: OLE -> QuitMessageLoop ();
         }
     }

     Win32:: OLE -> QuitMessageLoop () if $Event eq "OnQuit" ;
}

你可能感兴趣的:(apache,IE,perl,url,events,2010)