Monitoring de sites web avec libww-perl aka LWP
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:
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:
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:
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:
1 2
|
Tentative de validation de la commande... CRITICAL |
:(
Je me tire les cheveux ! :aie:
Merci ! ;)