Zugang erhalten / post Anfragedaten mit perl
Dieser Artikel beschreibt die Zugriff auf Daten in HTTP GET / POST Webanforderung mit Perl.
Zwar gibt es viele Perl-Module verfügbar (einschließlich CPAN) die
bereits enthalten Sie solche Funktionalität, der folgende Code veranschaulicht
wie man Daten aus sowohl ein HTTP GET und HTTP POST-Anforderung ohne ziehen
keine externen Abhängigkeiten.
Sub PopulateQueryFields {}
% QueryString = ();
meine $tmpStr = $ENV {'QUERY_STRING'};
@parts = teilen (/ \ & /, $tmpStr);
Foreach $part (als @parts) {}
($name, $value) = Split (/ \ = /, $part);
$queryString {'$name'} = $value;
}
}
Sub PopulatePostFields {}
% PostFields = ();
Lesen (STDIN, $tmpStr, $ENV {'CONTENT_LENGTH'});
@parts = teilen (/ \ & /, $tmpStr);
Foreach $part (als @parts) {}
($name, $value) = Split (/ \ = /, $part);
$value = '(s/%23/\#/g);
$value = '(s/%2F/\//g);
$postFields {'$name'} = $value;
}
}
PopulateQueryFields zieht alle Name/Wert-Paare aus einer URL (GET
beantragen Sie) in einen Hash % QueryString aufgerufen. populatePostFields
zieht alle Daten aus einer POST-Anforderung (über STDIN) in einen Hash bezeichnet
% PostFields. Beispiele:
Angesichts die folgende URL,
https://www.mydomain.com/cgi-bin/Script.pl?fname=Jason&lname=Plackey
& PopulateQueryFields;
$firstName = $queryString {'Fname'};
$lastName = $queryString {'Lname'};
Würde 'Jason' und 'Plackey' in $firstName und $lastName ziehen,
bzw..
In ähnlicher Weise gegeben ein HTML-Formular -> POST-Anforderung,
...
< FORM ACTION = '.. /cgi-bin/Script.pl'Methode'POST'= >
< INPUT TYPE = 'TEXT' NAME = 'Fname' >
< INPUT TYPE = 'TEXT' NAME = 'Lname' >
...
< / FORM >
& PopulatePostFields;
$firstName = $postFields {'Fname'};
$lastName = $postFields {'Lname'};
Noch einmal ziehen würde, die jeweiligen Daten über den HTML-Code eingegeben
in die Felder $firstName und $lastName bilden.
Eine weitere Anmerkung: gibt es In der PopulatePostFields-Routine
zwei Aufrufe von s / / /. Diese sind optional und Mimik (leicht) die
Funktionalität von einem unEscape() oder urlDecode() Art des Verfahrens. Die
spezifische zwei Anrufe in der Routine oben ersetzen '% 23' mit einem
Nummernzeichen (#) und '% 2F' mit einem Schrägstrich (/). Dabei kann es sich
geändert, da Sie für richtig halten.
Genießen,
Jason Plackey
Vice President Business Development
Raven2K integrierte Lösungen
https://www.raven2k.com
[email protected]
Zugang erhalten / post Anfragedaten mit perl
Zugang erhalten / post Anfragedaten mit perl : Mehreren tausend Tipps, um Ihr Leben einfacher machen.
Dieser Artikel beschreibt die Zugriff auf Daten in HTTP GET / POST Webanforderung mit Perl.
Zwar gibt es viele Perl-Module verfügbar (einschließlich CPAN) die
bereits enthalten Sie solche Funktionalität, der folgende Code veranschaulicht
wie man Daten aus sowohl ein HTTP GET und HTTP POST-Anforderung ohne ziehen
keine externen Abhängigkeiten.
Sub PopulateQueryFields {}
% QueryString = ();
meine $tmpStr = $ENV {'QUERY_STRING'};
@parts = teilen (/ \ & /, $tmpStr);
Foreach $part (als @parts) {}
($name, $value) = Split (/ \ = /, $part);
$queryString {'$name'} = $value;
}
}
Sub PopulatePostFields {}
% PostFields = ();
Lesen (STDIN, $tmpStr, $ENV {'CONTENT_LENGTH'});
@parts = teilen (/ \ & /, $tmpStr);
Foreach $part (als @parts) {}
($name, $value) = Split (/ \ = /, $part);
$value = '(s/%23/\#/g);
$value = '(s/%2F/\//g);
$postFields {'$name'} = $value;
}
}
PopulateQueryFields zieht alle Name/Wert-Paare aus einer URL (GET
beantragen Sie) in einen Hash % QueryString aufgerufen. populatePostFields
zieht alle Daten aus einer POST-Anforderung (über STDIN) in einen Hash bezeichnet
% PostFields. Beispiele:
Angesichts die folgende URL,
https://www.mydomain.com/cgi-bin/Script.pl?fname=Jason&lname=Plackey
& PopulateQueryFields;
$firstName = $queryString {'Fname'};
$lastName = $queryString {'Lname'};
Würde 'Jason' und 'Plackey' in $firstName und $lastName ziehen,
bzw..
In ähnlicher Weise gegeben ein HTML-Formular -> POST-Anforderung,
...
< FORM ACTION = '.. /cgi-bin/Script.pl'Methode'POST'= >
< INPUT TYPE = 'TEXT' NAME = 'Fname' >
< INPUT TYPE = 'TEXT' NAME = 'Lname' >
...
< / FORM >
& PopulatePostFields;
$firstName = $postFields {'Fname'};
$lastName = $postFields {'Lname'};
Noch einmal ziehen würde, die jeweiligen Daten über den HTML-Code eingegeben
in die Felder $firstName und $lastName bilden.
Eine weitere Anmerkung: gibt es In der PopulatePostFields-Routine
zwei Aufrufe von s / / /. Diese sind optional und Mimik (leicht) die
Funktionalität von einem unEscape() oder urlDecode() Art des Verfahrens. Die
spezifische zwei Anrufe in der Routine oben ersetzen '% 23' mit einem
Nummernzeichen (#) und '% 2F' mit einem Schrägstrich (/). Dabei kann es sich
geändert, da Sie für richtig halten.
Genießen,
Jason Plackey
Vice President Business Development
Raven2K integrierte Lösungen
https://www.raven2k.com
[email protected]
Zugang erhalten / post Anfragedaten mit perl
By Wiezutun
Zugang erhalten / post Anfragedaten mit perl : Mehreren tausend Tipps, um Ihr Leben einfacher machen.