IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Web Perl Discussion :

envoyer variable en post via un scrpt perl


Sujet :

Web Perl

  1. #1
    Membre régulier
    Inscrit en
    Janvier 2007
    Messages
    273
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Janvier 2007
    Messages : 273
    Points : 83
    Points
    83
    Par défaut envoyer variable en post via un scrpt perl
    bonjour,

    J'aurais encore une question pour vous. pour mon appli j'ai besoin de pouvoir créer des url qui une fois envoyé au script cgi seront traitées. J'aurais des variable à envoyer et à récupérer par la méthode GET. Donc aps compliqué suffit de créer l'url comme il faut. Là ou ca se complique, c'est que le site sur lequel je veux envoyé à besoin du login et du mot de passe pour authenfier l'utilisateur. Or les mettres directement dans l'url c''est pas génial. J'aimerai donc savoir comment faire pour que mon script perl puisse envoyer en meme temps des données écrites dans l'url et le login et le mot de passe en POST.

    Si vous avez des idées je suis preneur.

    merci d'avance

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 25
    Points : 32
    Points
    32
    Par défaut
    Bonjour,
    pourquoi pas utiliser la librairie LWP::UserAgent
    et remvoyer le contenu (comme un proxy web) le contenu de la page retournés via la librairie CGI?

    --
    http://vgt.fr

  3. #3
    Membre régulier
    Inscrit en
    Janvier 2007
    Messages
    273
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Janvier 2007
    Messages : 273
    Points : 83
    Points
    83
    Par défaut
    heu pas tout compris

    t'aurasi un exemple par hasard?

    EDIT : j'ai fait un test avec ce script :

    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
     
     
    #!/usr/bin/perl
     
    # declaring I use the CGI module
    use CGI;
    use CGI::Carp qw(fatalsToBrowser);
    use LWP::UserAgent;
    use URI::URL;
     
     
     
    my $url_var="https://localhost/bugzilla/post_bug.cgi?product=TestProduct&component=TestComponent&bug_severity=enhancement&creation_ts=&short_desc=ceci%20est%20un%20bug%20creelkjqsdglkjqldgj%20par%20cgi&op_sys=Windows&priority=P5&rep_platform=PC&version=unspecified&alias=&target_milestone=---&status_whiteboard=&bug_status=NEW&bug_file_loc=&assigned_to=maxime.deregel@gmail.com&qa_contact=&estimated_time=0.00&deadline=&Bugzilla_login=test&password=test";
     
    $url = new URI::URL($url_var);
    	my $ua  = new LWP::UserAgent;
    $ua->timeout(2);
    	my $resp = $ua->get($url);
    	my $content = $resp->content;	
     
    	print "content : ";
    	print $content;
    Alors pour le moment je reviens sur la page de connexion de mon serveur bugzilla. Est ce que vous auriez une idées du pourquoi du comment ca ne marche pas?

    Merci

  4. #4
    Membre régulier
    Inscrit en
    Janvier 2007
    Messages
    273
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Janvier 2007
    Messages : 273
    Points : 83
    Points
    83
    Par défaut
    Bon bah l'erreur ci dessus est résolue... c'est juste que mon champ password n'avait pas le bon nom... forcément la cgi qui check les champ derrière était paumée

    Bon nouveau défi, faire passer des chevrons dans l'URL entre le script perl et là CGI qui doit gérer
    Donc pour etre plus précis, mon script perl fait un get sur une url du type :

    https://monsite.com/truc/machin?var1=1&var2=2&var3=<champ><nom>nom</nom><valeur> 2</valeur>...&login=monlogin&password=monpass

    Bon cette url quand je la rentre directement dans le navigateur ca passe super bien. Par contre quand je l'envoi via le script perl en utilisant lwp::agent sur la page d'arrivée, dans 'url, les chevrons sont remplacé par des %30c ou autre. Donc je sais aps si ca peut poser problème. le soucis c'est que le server distant renvoi toujours la même chose : la page de connexion et ne fait pas son boulot. donc je sais pas trop comment faire. Si vous avez des idées je suis preneur

    merci

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 25
    Points : 32
    Points
    32
    Par défaut
    Bonjour,
    Le navigateur remplace un certain nombres de caractère par %xx
    il ne faut pas les transformer dans l'url, car le CGI qui va réccupérer les données, va recevoir %XX au lieu des caractères postés (dans ton cas < et >).

    my $ua = LWP::UserAgent->new();
    #
    #quelque fois sans ça, ça plante au niveau du navigateur..
    #
    $ua->agent("Mozilla/4.73 [en] (X11; I; Linux 2.2.16 i686; Nav)");
    $ua->timeout(15);
    my $response = $ua->request(POST 'url blabla <>');
    if ($response->is_success) {}else{return "";}
    my $textreponce=$response->content;
    print $textreponce;

    --
    http://vgt.fr

  6. #6
    Membre régulier
    Inscrit en
    Janvier 2007
    Messages
    273
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Janvier 2007
    Messages : 273
    Points : 83
    Points
    83
    Par défaut
    ah ok d'accord.. le choix du navigateur "virtuel" est donc important?
    Sinon je pense avoir trouver le pourquoi du bug : la page CGI générée contient des javascript que je ne gère pas avec le LWP agent il me semble bien non?

Discussions similaires

  1. [AJAX] Envoyer variable POST via Formulaire
    Par lounou dans le forum jQuery
    Réponses: 8
    Dernier message: 23/07/2013, 08h54
  2. Passer des variables en POST via un lien href ?
    Par Tibimac dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 13/12/2009, 15h22
  3. [Conception] Passage De Variable Avec Post Via Un Script Php + Redirection
    Par british_toons dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 26/09/2006, 16h57
  4. Passer des variables en POST via un lien href ?
    Par Bighobbit dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 20/09/2006, 11h03
  5. Comment envoyer une requête POST via HTTP ?
    Par pdtor dans le forum C++
    Réponses: 2
    Dernier message: 13/09/2005, 05h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo