Hello,
I'm trying to login automatically in a website using Perl with WWW::Mechanize.
What I do is:
$bot = WWW::Mechanize->new();
$bot->cookie_jar(
HTTP::Cookies->new(
file => "cookies.txt",
autosave => 1,
ignore_discard => 1,
)
);
$response = $bot->get( 'http://blah.foo/login' );
$bot->form_number(1);
$bot->field( usern => 'user' );
$bot->field( pass => 'pass' );
$response =$bot->click();
print $response->content();
$response = $bot->get( 'http://blah.foo' );
print $response->content();
The login works, but when I load the page it tells me that I am not connected.
You see that I store cookies in a file. Now if I relaunch the script without the login part, it says that I am connected...
Does anyone understand this strange behaviour ?
Edit: In fact I noticed that the problem happens too with some web browsers on certain platform. The page says "Not logged in". However, it is sufficient to reload the page to be logged in.
In the script, I tried to do a double get, but it doesn't work better. The only way is to launch it twice.
It worked with curl when I did the last request twice.