develooper Front page | perl.libwww | Postings from January 2006

Help needed in login

Thread Next
From:
Matti Rantanen
Date:
January 2, 2006 06:08
Subject:
Help needed in login
Message ID:
Pine.OSF.4.61.0601021606190.21259@kosh.hut.fi

Hi! I'm trying to log in to a Web service using LWP::UserAgent but something 
goes wrong in my script. The code I use is the following:

$agent = LWP::UserAgent->new();
push @{$agent->requests_redirectable}, 'POST';
$response = $agent->get($url);
die unless ($response->is_success);
@forms = HTML::Form->parse($response);
$forms[0]->value('myUsername', $login);
$forms[0]->value('myPassword', $password);
$forms[0]->value('cookie', $cookieValue);
$request = $forms[0]->click('Button1');

There are no warnings and as far as I can tell all is going fine. The site 
redirects me even to the proper page after posting the form but indicates that 
I haven't logged in to the service yet. For testing purposes I've tried giving 
a false password in which case the service behaves as it should, insisting 
retyping the password.

I used the WWW::Mechanize module to do the same login and it works fine:

my $mech = WWW::Mechanize->new();

$mech->get($url);
die unless ($mech->success);

$mech->submit_form(
   form_number => 1,
   button => 'Button1',
   fields      => {myUsername => $login,
                   myPassword => $password,
                   cookie => 'off',
                   }
   );

Unfortunately using Mechanize doesn't solve my problem since I want to use the 
UserAgent directly and pass it as argument for the Robot.pm. Any ideas what 
might be going wrong in my first implementation?

Thanks,
Matti

Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About