Help needed in login

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 [at] {$agent->requests_redirectable}, 'POST';
$response = $agent->get($url);
die unless ($response->is_success);
[at] 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
mjrantan [ Mo, 02 Januar 2006 15:07 ] [ ID #1124193 ]

Re: Help needed in login

>
> 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?

So pass the Mech object to Robot.pm. Mech is a direct subclass of
LWP::UserAgent.

xoxo,
Andy

--
Andy Lester => andy [at] petdance.com => www.petdance.com => AIM:petdance
Andy [ Mo, 02 Januar 2006 17:46 ] [ ID #1124195 ]
Perl » perl.libwww » Help needed in login

Vorheriges Thema: LWP::Parallel::UserAgent; HTTP 1.1, order of requests etc.
Nächstes Thema: SSL preference setting for Crypt-SSLeay-0.51