J’essai de réaliser un petite application perl qui émet des requêtes http. J’arrive a récupérer le contenu d’une page web mais je n’arrive pas à transmettre des arguments à cette page: Je voudrais que mon script puisse se connecter sur mon site en donnant mes identifiant ( Login + mot de passe ).

Ca bug mais je ne sais pas pourquoi.


Voic le code:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
$username       = 'MonLogin';
$password       = 'motdepasse';
$server         = 'http://www.monsite.com';
$page_connexion = '/connexion.php' ;
 
 
use LWP::UserAgent;
 $ua = new LWP::UserAgent;
 $ua->agent("AgentName/0.1 " . $ua->agent);
 
 # Creation d'une requete
 my $req = new HTTP::Request POST => $server.$page_connexion."HTTP/1.0\nHost: \nAccept: */*\nCookie:username=%s; password=%s\nConnection: close\n\n",$username,$password;
 
 
 $req->content_type('application/x-www-form-urlencoded');
 $req->content('match=www&errors=0');
 
 # On passe la requete à l'agent et on attend le résultat
 my $res = $ua->request($req);
 
 # Si le resultat est un succes (code HTTP 200) on affiche son contenu
 if ($res->is_success) {print $res->content;}
 
 # Sinon previent que URL defectueuse
 else {print "Cette URL ne répond pas\n";}
Voici l'erreur :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
Bad header argument at C:\automatique.pl line 20
La ligne 20:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 # Creation d'une requete
 my $req = new HTTP::Request POST => $server.$page_connexion."HTTP/1.0\nHost: \nAccept: */*\nCookie:username=%s; password=%s\nConnection: close\n\n",$username,$password;