Bonjour à tous,

je débute en perl et je travaille sur un script qui me permet de modifier un formulaire en lui passant une valeur , puis de valider ce formulaire mais ce formulaire est soumis grâce à un javascript et non par un input de type Submit.

Je suis perdu - je n'arrive pas à valider ce formulaire, voici le code du formulaire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
<form action="form.asp" method="get" name="fff">
<input type="hidden" name="from" value="5353504F7D51565959575D" />
<input type="hidden" name="action" value="1" />	
<table cellpadding="0" cellspacing="0" align="center" border="0" >
<input name="tel" type="text" size="20" value="" /></td>
</form>
<a href="javascript:document.fff.submit();"><img src="./valider.gif" width="110" height="31" border="0"></a>
Voici mon bout de code perl :
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
26
27
28
29
30
31
 
# Définition du numéro de téléphone à fournir pour la validation
$phonenumber="0172553985";
 
 
# l'url
my $base = 'http://www.tonton.fr/jeux/cashback/form.asp?FROM=5353504F7D51565959575D';
 
# 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 );
 
# 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  est le second formulaire de la page
my $form = ( HTML::Form->parse( $res->content, $base ) )[1];
 
# Dump du formulaire
$form->dump;
print $dump;
 
# remplit le champs teléphone = tel
$form->find_input('tel')->value($phonenumber);
 
# valide et renvoie le formulaire
my $validate = $ua->request( $form->click );
print "Status : $validate";
Ce code ne marche pas la validation ne se fait pas car c'est du javascript et pas un champs input pour poster le formulaire !!

QUI A UNE BONNE PISTE A ME FOURNIR ??

merci à tous