Accès get / post de demande de données à l'aide de perl


Cet article décrit comment accéder à des données à partir d'un HTTP GET / POST requête Web à l'aide de Perl. & nbsp

bien qu'il existe de nombreux modules Perl (y compris le CPAN)
déjà contenir une telle fonctionnalité, l'illustre le code suivant
comment extraire les données à la fois un HTTP GET et HTTP de la requête POST sans
toutes les dépendances externes.

sous populateQueryFields {
%queryString = ()
my $tmpStr = $ENV{ 'QUERY_STRING' }
@pièces = split( /\ & /, $tmpStr )
foreach $partie (@pièces) {
( $nom, $valeur ) = split( /\=/, $part )
$queryString{ '$name' } = $valeur
}
}

sous populatePostFields {
%postFields = ()
read( STDIN, $tmpStr, $ENV{ 'CONTENT_LENGTH' } )
@pièces = split( /\ & /, $tmpStr )
foreach $partie (@pièces) {
( $nom, $valeur ) = split( /\=/, $part )
$valeur =' ( s/#/\#/g )
$valeur =' ( s///\//g )
$postFields{ '$name' } = $valeur
}
}

populateQueryFields tire toutes les paires nom/valeur à partir d'une URL (GET
demande) dans une table de hachage appelés %queryString. populatePostFields
tire toutes les données à partir d'une requête POST (via STDIN) dans une table de hachage appelé
%postFields. Exemples:

etant Donné l'URL suivante,
http://www.mydomain.com/cgi-bin/script.pl?fname=Jason & lname=Plackey

& populateQueryFields
$prenom = $queryString{ 'fname' }
$nom = $queryString{ 'lname' }

pull 'Jason' et 'Plackey' dans $prenom et $lastName,
respectivement.

de Même, compte tenu d'un formulaire HTML->requête POST,
...




...

& populatePostFields
$prenom = $postFields{ 'fname' }
$nom = $postFields{ 'lname' }

Serait, une fois de plus, tirer les données saisies via le HTML
forme de l' $prenom et $lastName champs.

Une remarque: Dans le populatePostFields routine, il y a
deux appels à s///. Ceux-ci sont facultatifs, et d'imiter (légèrement)
fonctionnalités de ne pas encoder() ou urlDecode() type de procédure. L'
spécifique à deux appels effectués dans la routine au-dessus de remplacer le '#' par un
livre (#) signe, et '/' avec une barre oblique (/). Ceux-ci peuvent être
et de les modifier comme bon vous semble.

Profitez,

Jason Plackey
Vice-Président du Développement des Affaires
Raven2K des Solutions Intégrées
http://www.raven2k.com
[email protected]









Acces get / post de demande de donnees a l'aide de perl


Acces get / post de demande de donnees a l'aide de perl : Plusieurs milliers de conseils pour vous faciliter la vie.


Cet article decrit comment acceder a des donnees a partir d'un HTTP GET / POST requete Web a l'aide de Perl. & nbsp

bien qu'il existe de nombreux modules Perl (y compris le CPAN)
deja contenir une telle fonctionnalite, l'illustre le code suivant
comment extraire les donnees a la fois un HTTP GET et HTTP de la requete POST sans
toutes les dependances externes.

sous populateQueryFields {
%queryString = ()
my $tmpStr = $ENV{ 'QUERY_STRING' }
@pieces = split( /\ & /, $tmpStr )
foreach $partie (@pieces) {
( $nom, $valeur ) = split( /\=/, $part )
$queryString{ '$name' } = $valeur
}
}

sous populatePostFields {
%postFields = ()
read( STDIN, $tmpStr, $ENV{ 'CONTENT_LENGTH' } )
@pieces = split( /\ & /, $tmpStr )
foreach $partie (@pieces) {
( $nom, $valeur ) = split( /\=/, $part )
$valeur =' ( s/#/\#/g )
$valeur =' ( s///\//g )
$postFields{ '$name' } = $valeur
}
}

populateQueryFields tire toutes les paires nom/valeur a partir d'une URL (GET
demande) dans une table de hachage appeles %queryString. populatePostFields
tire toutes les donnees a partir d'une requete POST (via STDIN) dans une table de hachage appele
%postFields. Exemples:

etant Donne l'URL suivante,
http://www.mydomain.com/cgi-bin/script.pl?fname=Jason & lname=Plackey

& populateQueryFields
$prenom = $queryString{ 'fname' }
$nom = $queryString{ 'lname' }

pull 'Jason' et 'Plackey' dans $prenom et $lastName,
respectivement.

de Meme, compte tenu d'un formulaire HTML->requete POST,
...




...

& populatePostFields
$prenom = $postFields{ 'fname' }
$nom = $postFields{ 'lname' }

Serait, une fois de plus, tirer les donnees saisies via le HTML
forme de l' $prenom et $lastName champs.

Une remarque: Dans le populatePostFields routine, il y a
deux appels a s///. Ceux-ci sont facultatifs, et d'imiter (legerement)
fonctionnalites de ne pas encoder() ou urlDecode() type de procedure. L'
specifique a deux appels effectues dans la routine au-dessus de remplacer le '#' par un
livre (#) signe, et '/' avec une barre oblique (/). Ceux-ci peuvent etre
et de les modifier comme bon vous semble.

Profitez,

Jason Plackey
Vice-President du Developpement des Affaires
Raven2K des Solutions Integrees
http://www.raven2k.com
[email protected]


Accès get / post de demande de données à l'aide de perl

Accès get / post de demande de données à l'aide de perl : Plusieurs milliers de conseils pour vous faciliter la vie.
Recommander aux amis
  • gplus
  • pinterest

Messages récents

Commentaire

Laisser un commentaire

évaluation