Help needed in login

Matti Rantanen <[email protected]>
Newsgroups gmane.comp.lang.perl.modules.lwp
Message-ID <[email protected]>
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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.