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 :
- $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);
- [B]$response = $form->click('checkout');[/B]
- 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 :
- 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 :
- 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 :
- Tentative de validation de la commande... CRITICAL
|
Je me tire les cheveux !
Merci !