Bot avec Win32::IE::Mechanize
Bonjour à tous,
je souhaite utiliser un robot pour me connecter à l'adresse suivante, https://www.****.fr, et remplir le formulaire d'authentification.
J'utilise Win32::IE::Mechanize car il parait que celui-ci permet d'interpréter les scripts javascript présent dans la page.
Pour information, j'ai déjà utilisé WWW::Mechanize pour m'authentifier, et cela avait bien fonctionné. Par contre, une fois connecté, il faut que des scripts javascripts soient executés, hors cela ne fonctionne pas avec WWW::Mechanize.
Voici un petit bout de code que j'ai utilisé:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
use strict; use warnings;
use Win32::IE::Mechanize;
use Crypt::SSLeay;
use HTML::TreeBuilder;
my $url = "https://www.****.fr";
# rend la fenêtre IE visible sous Windows
my $ie = Win32::IE::Mechanize->new( visible => 1 );
$ie->get( $url );
die $ie->res->status_line unless $ie->success;
# affiche le contenu de la page
print $ie->content; |
Je me rend compte que le contenu $ie->content est le suivant:
Code:
1 2 3 4 5 6 7 8 9 10 11
|
<HTML><HEAD><TITLE>Page de connexion</TITLE>
<META http-equiv=Content-Language>
<META content=text/html http-equiv=Content-Type>
<META name=robots content=none>
<SCRIPT src="/dana-na/css/ds.js"></SCRIPT>
<SCRIPT>
WriteCSS();
</SCRIPT>
<LINK rel=stylesheet href="/dana-na/css/ds_ie.css"><NOSCRIPT></NOSCRIPT></HEAD></HTML> |
Tandis que le code source de la page fait bien apparaitre le formualire d'authentification.
La commande mech-dump https://www.****.fr nous retourne bien le formulaire suivant:
Citation:
<form name="frmLogin" action="login.cgi" method="POST" autocomplete="off" onsubmit="return Login(1)">
<input type="hidden" name="tz_offset">
<input name="username" size="20" type="text">
<input name="password" size="20" type="password">
<input type="hidden" name="realm" value="basic">
<input value="Valider" name="btnSubmit" type="submit">
</form>
Avez-vous des suggestions ? Vous comprenez ce qu'il se passe ? J'ai oublié quelque chose ?
Un grand merci d'avance.