Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1379 connectés 

  FORUM HardWare.fr
  Programmation
  Perl

  Erreur d'exécution de perl

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Erreur d'exécution de perl

n°1367088
dynlevirus
Posté le 16-05-2006 à 08:28:51  profilanswer
 

Bonjour,
j'ai fait un module perl afin de faire un traitement de données d'un formulaire mais le problème est que quand je lance le traitement j'ai l'erreur suivante:
Error: Protocol scheme 'http' is not supported
Pouvez vous m'aidez svp??
Merci

mood
Publicité
Posté le 16-05-2006 à 08:28:51  profilanswer
 

n°1367095
Elmoricq
Modérateur
Posté le 16-05-2006 à 08:49:12  profilanswer
 

Il manque un point-virgule à la ligne 42.

n°1367100
dynlevirus
Posté le 16-05-2006 à 09:02:19  profilanswer
 

je crois qu'il faut être un peu sérieux!!!

n°1367133
anapajari
s/travail/glanding on hfr/gs;
Posté le 16-05-2006 à 09:28:42  profilanswer
 

Elmoricq a écrit :

Il manque un point-virgule à la ligne 42.


dynlevirus a écrit :

je crois qu'il faut être un peu sérieux!!!


Excuse Elmoricq, son editeur plante si les lignes sont trop grandes. Donc Elmoricq parlait bien entendu de la ligne 38, là ou tu fais ta double affection inversée en spirale péruvienne ( pas terrible pour la lisibilité mais tellement beau à lire). Je te conseillerais plutot de passer par la méthode E.S.T.F.L.C, developpé dans les années 70 pour le programme arianne.
 
Rappel: E.S.T.F.L.C est l'acronyme de ET SI TU FILAIS LE CODE /FOU /FOU /FOU


Message édité par anapajari le 16-05-2006 à 09:29:14
n°1367175
dynlevirus
Posté le 16-05-2006 à 09:50:30  profilanswer
 

Pardon j'ai oublié le code perl

Code :
  1. #!/usr/bin/perl -w
  2. ###########################################
  3. use warnings;
  4. use strict;
  5. use CGI::Carp qw(fatalsToBrowser);
  6. use Net::Amazon;
  7. use Log::Log4perl qw(:easy);
  8. Log::Log4perl->easy_init($DEBUG);
  9. read(STDIN, my $donnees, $ENV{'CONTENT_LENGTH'});
  10. my @champs_formulaire = split(/&/, $donnees);
  11. my ($champ, $nom, $valeur);
  12. my %formulaire;
  13. foreach $champ (@champs_formulaire) {
  14.   (my $nom, my $valeur) = split(/=/, $champ);
  15.   $valeur =~ tr/+/ /;
  16.   $valeur =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
  17.   $valeur =~ s/</&lt;/g;
  18.   $valeur =~ s/>/&gt;/g;
  19.   $formulaire{$nom} = $valeur;
  20. }
  21. my $ua = Net::Amazon->new(
  22.  token       => '18QTWVDHQ3XVS1482E82',
  23. );
  24. my $resp;
  25. if($formulaire{choix} eq 'livres'){
  26. if (length($formulaire{cb})=="13" )
  27. { $formulaire{cb} = &isbn($formulaire{cb});}
  28. $resp = $ua->search(
  29.  asin  => $formulaire{cb}
  30. );
  31. }
  32. else
  33. {
  34. $resp = $ua->search(
  35.     upc  => $formulaire{cb},
  36.     mode => "music"
  37. );
  38. }
  39. print "Content-type: text/html\n\n";
  40. print "<html><head><title>Resultat de la recherche</title></head>\n";
  41. print "<body><h1>Résultat de votre recherche</h1>\n";
  42. if($resp->is_success()) {
  43.      my @t=split(', ', $resp->as_string());
  44.      print "Auteur : $t[0]\n<br>";
  45.      print "Titre : $t[1]\n<br>";
  46.      print "Date d'édition : $t[2]\n<br>";
  47.      print "Prix : $t[3]\n<br>";
  48.      print "ISBN : $t[4]\n<br>"  if($formulaire{choix} eq 'livres');
  49.      print "ASIN : $t[4]\n<br>"  if($formulaire{choix} ne 'livres');
  50. } else {
  51.     print "Error: ",
  52.           $resp->message(), "\n";
  53. }
  54. #print "<p>$resp</p>\n";
  55. print "";
  56. print "</body></html>\n";

n°1367440
Elmoricq
Modérateur
Posté le 16-05-2006 à 13:29:48  profilanswer
 

J'ai pas regardé en profondeur, mais pourquoi tu n'utilises pas le module CGI, plutôt que d'analyser toi-même la chaîne de paramètres ?
 
Ensuite l'erreur vient probablement d'un des modules que tu utilises, Net::Amazon par exemple, mais je ne le connais pas et je ne peux l'utiliser sur ma machine.
Peux-tu isoler l'erreur, ou nous dire à quelle ligne ça plante ?

n°1367512
dynlevirus
Posté le 16-05-2006 à 14:16:20  profilanswer
 

Justement je ne sais d'où proviens l'erreur. Quand je lance le traitement du formulaire en local (via easyphp) ça marche mais une fois sur le serveur il déconne. Quant à l'analyse de la chaîne de paramètres je ne pense pas qu'elle rentre en compte dans l'erreur. Ca me met juste:

Citation :

Error: Protocol scheme 'http' is not supported

n°1367519
anapajari
s/travail/glanding on hfr/gs;
Posté le 16-05-2006 à 14:18:46  profilanswer
 

dynlevirus a écrit :

Quand je lance le traitement du formulaire en local (via easyphp)


 [:pingouino]  [:pingouino] WTF???  [:pingouino]  [:pingouino]  
Peux tu décrire un peu plus l'architecture sur lequel tu fais tes tests?
 
edit: easyphp fonctionne sur windows pour du php la tu es en perl et en plus la ligne

Code :
  1. #!/usr/bin/perl -w


Laisse plutot penser que tu utiliserais linux


Message édité par anapajari le 16-05-2006 à 14:19:56
n°1367528
dynlevirus
Posté le 16-05-2006 à 14:25:44  profilanswer
 

en fait j'ai un formulaire html qui se traite via perl. Donc j'ai modifier la configuration de easyphp afin de pouvoir y traiter les formulaires en perl. Une fois le formulaire remplit, il "envoie" les informations à perl qui les traite en utilisant internet. En gros je fais une recherche sur une base de données distante.

n°1367720
anapajari
s/travail/glanding on hfr/gs;
Posté le 16-05-2006 à 15:59:09  profilanswer
 

dynlevirus a écrit :

en fait j'ai un formulaire html qui se traite via perl. Donc j'ai modifier la configuration de easyphp afin de pouvoir y traiter les formulaires en perl. Une fois le formulaire remplit, il "envoie" les informations à perl qui les traite en utilisant internet. En gros je fais une recherche sur une base de données distante.


je suis désolé mais je comprends toujours pas comment ton truc marche  [:pingouino]  
 
Je vais tenter une reformulation
- tu as installé easyphp sur ton post en local
- tu as un site en php/html qui tourne dessus
- sur une des pages tu as un formulaire donc l'action est "http://www.unsite.com/unscript.pl"
c'est ça?

mood
Publicité
Posté le 16-05-2006 à 15:59:09  profilanswer
 

n°1367783
dynlevirus
Posté le 16-05-2006 à 16:23:38  profilanswer
 

oui c'est bien ça. Maintenant quand je mets tout ça sur un serveur (site internet) ça me retourne l'erreur indiqué plus haut

n°1368462
anapajari
s/travail/glanding on hfr/gs;
Posté le 17-05-2006 à 09:47:15  profilanswer
 

ton "serveur(site internet)" il supporte perl?
edit: Complètement con :o
 
Quand tu dis "tout ça" tu parles de ton formulaire html on est d'accord?
Tu as l'adresse du site en question?


Message édité par anapajari le 17-05-2006 à 09:48:49
n°1368464
dynlevirus
Posté le 17-05-2006 à 09:51:17  profilanswer
 

http://esstin.eupholister.com
Quand je dis tout ça je parle du fait que le formulaire est bien pris en compte et traité par perl


Message édité par dynlevirus le 17-05-2006 à 09:52:21
n°1368475
anapajari
s/travail/glanding on hfr/gs;
Posté le 17-05-2006 à 10:02:00  profilanswer
 

et bien je pense que sur ton serveur le module Net-Amazon merdouille

n°1368684
dynlevirus
Posté le 17-05-2006 à 13:17:28  profilanswer
 

comment faire pour savoir ce qui ne marche pas sur le serveur car tout marche en local. La recherche se passe parfaitement.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Perl

  Erreur d'exécution de perl

 

Sujets relatifs
php / mysql erreur enregistrement[Perl] telnet connexion!! (resolu)
[php/sql] temps d'executionAvoir la main pendant une exécution
aidez moi avec perl :mettre les données d'un fichier dans un tableauéxécution de html dans un script java
[Résolu] PHP + IIS = erreur d'extension mysqlErreur de compilation lié à la généricité et type dérivé de Finalizat°
[Résolu] Erreur w3c que je ne comprends paserreur d'execution des CGI en pêrl
Plus de sujets relatifs à : Erreur d'exécution de perl


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR