Module HTML::Form /erreur
Bonjour,
Je souhaite effectué une requête via une page d'authentification d'une application en perl et récupérer un champs sur la page suivant la page d'authentification après que celle ci soit validé.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| use utils qw($TIMEOUT %ERRORS &print_revision &support &usage);
use POSIX qw(strftime ctime);
use Getopt::Long;
use strict;
use LWP::UserAgent;
use HTML::Form;
my $url ='XXXXXXXXXXXX';
my $ua = LWP::UserAgent->new();
#agent => 'Mozilla/4.73 [en] (X11; I; Linux 2.2.16 i686; Nav)' );
# récupère le formulaire la première fois.
my $req = HTTP::Request->new( POST => "${url}" );
# envoie la requête HTTP
my $res = $ua->request($req);
die $res->status_line if not $res->is_success;
# récupère le formulaire HTML
my $form = ( HTML::Form->parse( $res->content, $url ) )[0];
# on remplit la zone d'input avec "Informatique"
$form->find_input('useralias')->value("admin");
$form->find_input('password')->value("admin");
# on soummet le formulaire ...
$res = $ua->request( $form->click("submit") );
die $res->status_line if not $res->is_success;
#résultats dans $res->content
print $res->content; |
La premiere étape marche sans probleme :
Code:
my $res = $ua->request($req);
Mais j'ai ensuite une Erreur HTTP 302 au niveau de la ligne :
Code:
$res = $ua->request( $form->click("submit") );
Quelqu'un aurait-il une idée?
EDIT : Interrogation supplémentaire : de cette manière on peut obtenir la page vers laquelle la page d'authentification c'est redirigé?
Merci d'avance!