Bonjour,

Je suis en train de dévoloper un script en PERL afin de simuler le processus d'achat d'un produit sur un site web, afin de renvoyer les informations de status à Nagios.

J'ai reussi à valider une première page, mais je n'arrive pas à traiter la seconde, voila le bout de mon script qui pose problème:

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
$response = $nav->get($url_produit_test);

	if ($response->code == 200){
		print "Accès Produit: OK \n";
		print "\t Tentative de commande du produit...";
		$form = HTML::Form->parse($response);
		$form->find_input('quantity')->value($quantity);
		$response = $nav->request($form->click);
		if ($response->content =~ m/Total Produits/){
			print " OK \n";

			print "\t Tentative de validation de la commande...";
			$form = HTML::Form->parse($response);
			$form->find_input('quantity1')->value($quantity1);
			$response = $form->click('checkout');
			if ($response->content =~ m/Mot de passe/){
				print " OK \n";
			}
			else {
				print " CRITICAL \n";
			}
		}
		else {
			print " CRITICAL \n";
		}
	}
	else {
		print "Accès Produit: CRITICAL \n";
	}
J'ai cette erreur de renvoyé:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
         Tentative de commande du produit... OK
Can't locate object method "code" via package "HTTP::Headers" at (eval 14) line 1.
Pour info, c'est sur une plateforme Cybershop, voila la première page que j'arrive à valider:

http://www.cybershopasp.info/shopexd.asp?catalogid=138

et la seconde que je n'arrive pas :

http://www.cybershopasp.info/shopaddtocart.asp

Je viens de tester ca aussi:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
			print "\t Tentative de validation de la commande...";
			$form = HTML::Form->parse($response);
			$form->find_input('quantity1')->value($quantity1);
			$response = $nav->request( $form->click );
			if ($response->is_success){
				print " OK \n";
			}
			else {
				print " CRITICAL \n";
			}
et en fait cela renvoye

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
Tentative de validation de la commande... CRITICAL


Je me tire les cheveux !

Merci !