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

Langage Perl Discussion :

Methode POST perl


Sujet :

Langage Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 14
    Par défaut Methode POST perl
    Bonjour tout le monde,

    Je débute en Perl. J'ai lu quelques tutoriaux et j'ai vu qu'il était possible de passer des paramètres avec CGI.
    J'ai une fonction nommée "connect.pl" fournie lorsque l'on telecharge le package VI perl toolkit qui me permet de me connecter a un serveur ESX (Vmware) voici son contenu (J ai ajoute une partie CGI mais qui ne marche pas):
    =========================================================

    code:
    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
     
     
    #!/usr/bin/perl -w
    #
    # Copyright (c) 2007 VMware, Inc.  All rights reserved.
     
    use strict;
    use CGI::Carp qw(fatalsToBrowser)
    use warnings;
     
    my $cgi = new CGI;
     
    read(STDIN, my $donnees, $ENV{'CONTENT-LENGTH'});
     
    my @champs_formulaire = split(/&/,$donnees);
     
    my ($server,$user,$password);
     
       foreach my $champ (@champs_formulaire)
       {
           $server =$cgi->param('server');
           $user =$cgi->param('user');
           $password = $cgi->param('password');
       }
     
     
    use FindBin;
    use lib "$FindBin::Bin/../";
     
    etc...
     
       my $si_view = Vim::get_view(mo_ref => $si_moref);
       Util::trace(0, "Server Time : ". $si_view->CurrentTime()."\n");
    }
     
    __END__
     
    =head1 DESCRIPTION
     
    This VI Perl command-line utility connects to a host, retrieves the server
    time and disconnects.
     
    =head1 EXAMPLES
     
     connect.pl --url https://<host>:<port>/sdk/vimService
                    --username myuser --password mypassword
    =========================================================

    Pour me connecter au serveur ESX il faut que je tape sur ma console :
    perl connect.pl --server (adresse IP) --username (anonymous) --password (anonymous)

    J'aimerai lancer ce script a partir d'une interface html ou je rentrerai ces parametres, mais le probleme c'est que je ne sais pas du tout comment m'y prendre... J'ai besoin de votre aide s'il vous plait...


    Voici un debut de mon interface html...

    code
    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
     
    <form action="/cgi-bin/connect.pl" method="post">
    	<select name="server">
     
    		<option value="val_1">10.48.xxx.xxx</option>
    		<option value="val_2">Val affichée 2</option>
    		<option value="val_3">Val affichée 3</option>
    	</select>
    	<br /><br />
    	<select name="user">
     
    		<option value="val_1">administrator</option>
    		<option value="val_2">Val affichée 2</option>
    		<option value="val_3">Val affichée 3</option>
    	</select>
    	<br /><br />
    	<select name="password">
     
    		<option value="val_1">xxxxx</option>
    		<option value="val_2">Val affichée 2</option>
    	</select>
    	<br /><br />
    	<input type="submit" value="OK" />
     
    </form
    J'aimerai savoir ce que je dois changer dans connect.pl pour qu'il recupere les parametres...

    Merci d'avance,

    PS:Je m'excuse a l'avance des accents manquants, mon clavier ne me permet pas de les faire, j ai pu juste corriger les 100 premieres fautes grace a ma barre de recherches...

  2. #2
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 14
    Par défaut
    Ca y est j ai reussi a faire passer les parametres avec ce code pour l interface HTML

    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
     
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <title>Page de commentaire</title>
    </head>
    <body bgcolor="#E0E0E0">
    <h1>Votre commentaire</h1>
    <form action="/cgi-bin/essai.pl" method="post">
    <p>Server:<br><input size="40" maxlength="40" name="server"></p>
    <p>User:<br><input size="40" maxlength="40" name="user"></p>
    <p>Password:<br><input size="40" maxlength="40" name="password"></p>
    <p><input type="submit" value="envoyer"></p>
     
    </form>
    </body>
    </html>
    Voici le script. Au debut je fait apparaitre les parametres mais je ne sais pas comment faire pour les integrer a la suite du 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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
     
    #!/usr/bin/perl -w
    #
    # Copyright (c) 2007 VMware, Inc.  All rights reserved.
     
     
    use strict;
    use CGI::Carp qw(fatalsToBrowser);
    use warnings;
     
    read(STDIN, my $donnees, $ENV{'CONTENT_LENGTH'});
    my @champs_formulaire = split(/&/, $donnees);
    my ($champ, $nom, $valeur);
    my %formulaire;
    foreach $champ (@champs_formulaire) {
      (my $nom, my $valeur) = split(/=/, $champ);
      $valeur =~ tr/+/ /;
      $valeur =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
      $valeur =~ s/</&lt;/g;
      $valeur =~ s/>/&gt;/g;
      $formulaire{$nom} = $valeur;
     }
     
    print "Content-type: text/html\n\n";
    print '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">', "\n";
    print "<html><head><title>CGI-Feedback</title></head>\n";
    print "<body><h1>avis CGI du programme <i>essai.pl</i></h1>\n";
    print "<p><b>server:</b> $formulaire{server}</p>\n";
    print "<p><b>user:</b> $formulaire{user}</p>\n";
    print "<p><b>password:</b> $formulaire{password}</p>\n";
    print "</body></html>\n";
     
    use warnings;
     
    use FindBin;
    use lib "$FindBin::Bin/../";
     
    use VMware::VIM2Runtime;
    use VMware::VILib;
     
    $Util::script_version = "1.0";
     
    Opts::parse();
    Opts::validate();
     
    Util::connect();
    display_servertime();
    Util::disconnect();
     
    sub display_servertime {
       Util::trace(0, "\nConnection Sucessful\n");
     
       my $si_moref = ManagedObjectReference->new(type => 'ServiceInstance',
                                                  value => 'ServiceInstance');
       my $si_view = Vim::get_view(mo_ref => $si_moref);
       Util::trace(0, "Server Time : ". $si_view->CurrentTime()."\n");
    }
     
    __END__
     
    =head1 NAME
     
    connect.pl - connects and disconnects to a host.
     
    =head1 SYNOPSIS
     
     connect.pl [options]
     
    =head1 DESCRIPTION
     
    This VI Perl command-line utility connects to a host, retrieves the server
    time and disconnects.
     
    =head1 EXAMPLES
     
     connect.pl --url https://<host>:<port>/sdk/vimService
                    --username myuser --password mypassword
    Bonne journee a tous... J attends avec impatience votre aide.

  3. #3
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 14
    Par défaut
    J ai laisse tomber la solution d integrer les parametres dans le script lui meme.
    Je fais un appel au script connect.pl de la maniere suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $R = `/vmware/MyProject/Myvidiscovery.pl --server $VI_SERVER --username $VI_USERNAME --password $VI_PASSWORD --managedentity folder --entityname $VI_FOLDER`;
     
    print $R;
    Bonne journee a tous...

    Bye

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [HTTP]passage de parametres via la methode post
    Par abdou.sahraoui dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 03/03/2008, 14h11
  2. Envoi incomplet avec methode post
    Par Tr@nkill dans le forum ASP
    Réponses: 8
    Dernier message: 16/05/2005, 12h14
  3. Protocole HTTP: methode POST
    Par Nyx dans le forum Général Conception Web
    Réponses: 15
    Dernier message: 01/04/2005, 17h45
  4. [Servlet] Form. Methode POST - Erreur 405
    Par Johnbob dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 03/11/2004, 16h46
  5. Passage de variable par methode post ?
    Par oazar dans le forum Flash
    Réponses: 33
    Dernier message: 16/10/2003, 17h03

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