Bonjour,
J'ai pour tache de faire un script perl qui permette de simuler la connection d'une personne sur une page web PHP / Mysql. (et oracle...mais je verrai plus tard pour ça)
Donc le script doit entrer un login et un mot de passe dans un formulaire puis retourner le résultat, en particulier le contenu de la page.
Ceci et pour pouvoir automatiser des controles de site intranet PHP/Mysql ou oracle de façon automatisée.
En cherchant sur ce forum et le net j'ai fini avec le script suivant :
En l'occurence ici je tente de me connecter à PHPMyAdmin.#!/usr/bin/perl -w
use strict;
use LWP::UserAgent;
use HTML::Form;
# les paramètres personnels
my ( $user, $pass ) = qw( toto tata );
my $base = 'http://webdbqual/phpadmin/';
# initialisation de l'agent
my $ua =
LWP::UserAgent->new(
agent => 'Mozilla/4.73 [en] (X11; I; Linux 2.2.16 i686; Nav)' );
# création de la requête
my $req = HTTP::Request->new( GET => "${base}index.php" );
# exécute la requête et reçoit la réponse
my $res = $ua->request($req);
die $res->status_line if not $res->is_success;
# le formulaire de login est le second formulaire de la page
my $form = ( HTML::Form->parse( $res->content, $base ) )[1];
# remplit les champs
$form->find_input('pma_username')->value($user);
$form->find_input('pma_password')->value($pass);
# valide et renvoie le formulaire
$res = $ua->request( $form->click );
my $code = $res->code();
print "Code:".$code."\n";
if ($res->is_success){
print "Connection OK. Contenu :\n".$res->content;
}
else{
print "Connection refusée.\n".$res->status_line;
}
Le code retour est 200, normal, meme je ne m'identifie pas puisque le login et mot de passe sont bidons, le serveur HTTP lui répond OK.
Donc pour pouvoir savoir si j'ai j'ai bien été authentifié avec le formulaire, je voudrais récupérer le contenu de la page après la validation est l'envoit du formulaire, sauf que ici le contenu est vide !
Est ce que quelqu'un pourrait m'expliquer pourquoi ?
et aussi que pensez vous de cette façon de faire, y a t il d'autres façon plus propres ??
D'avance merci et Bon WE
Partager