#!/usr/bin/perl use LWP::UserAgent; use Win32::GUI; $tmp = $ENV{"TEMP"}; my $font = Win32::GUI::Font->new( -name => "Comic Sans MS", -size => 12, ); $main=Win32::GUI::Window->new(-name=>"Main",-width => 400, -height => 400); $main->AddButton(-name=>"BOK",-text=>"submit!",-pos=>[148,335], -onClick=> sub {SUBMIT($single_entry_number, $user, $password)}); my $single_entry_number = $main->AddTextfield( -name => "single_entry_number", -text => "", -left => 10, -top => 10, -width => 200, -height => 25, -prompt => ["URL:", 80], ); my $user = $main->AddTextfield( -name => "user", -text => "", -left => 10, -top => 40, -width => 200, -height => 25, -prompt => ["Username:", 80], ); my $password = $main->AddTextfield( -name => "password", -text => "", -password => 1, -left => 10, -top => 65, -width => 200, -height => 25, -prompt => ["Password:", 80], ); $main->Show(); Win32::GUI::Dialog(); sub Window_Terminate { return -1; } sub SUBMIT { my $login = 1; my $ua = LWP::UserAgent->new(%uaoptions); $ua->cookie_jar( {} ); if ($login) { &login; } my $logintest= get("http://www.site.com/"); if ($logintest =~ m!you are now logged!sim) { } else { print "Bad username or password."; exit; } sub get { my $urls = shift @_; my $result = $ua->get($urls); if (!($result->is_success)) { die "Error: $urls produced " . $result->status_line; } return $result->content; } sub login { my $lpage = get("http://www.site.com/login.html"); my $chal; if ($lpage =~ /name=[\'\"]challenge[\'\"].*?value=[\'\"(.*?)\'\"]/) { $chal = $1; } else { die "Couldn't find challenge in login.html"; } my %form = ( 'user', $user, 'password', $password, 'challange', $chal, 'action:log-in', "Log in..." ); my $result = $ua->post("http://www.site.com/login.html", \%form); } exit; }