POST Events automatisieren?
Thomas Winkler
- cgi
Gibt es eine Möglichkeit ein POST Event (idealerweise aus einem Perl oder Shell Script heraus) automatisch zu senden? Soll heissen: Ein Perl CGI-Script auf einem Server (dessen Position, Name und notwendigen Parameter seien bekannt) erwartet Daten in Form eines POST Events. Nun will ich aber nicht jedesmal eine Form ausfüllen, sondern die ganze Sache automatisieren. Wie könnte das gehen?
Danke,
Thomas
Hallo Thomas
Gibt es eine Möglichkeit ein POST Event (idealerweise aus einem Perl oder Shell Script heraus) automatisch zu senden?
Ja, du kannst folgenden Perl-Code dazu verwenden. Du musst nur die Variablen $query und $url richtig setzen und dann sollte der Request automatisch durchgeführt werden.
Gruss
Andreas
--------------------
$query = &query($name[0],$value[0],$name[1],$value[1],$name[2],$value[2]);
$url = 'http://www.domain.ch/cgi-bin/script.cgi';
use LWP::UserAgent;
$ua = new LWP::UserAgent;
$req = HTTP::Request->new(POST,$url);
$req->content_type('application/x-www-form-urlencoded');
$req->content($query);
$res = $ua->request($req);
sub query
{
my $query;
while(@_)
{
my $name = shift(@_);
my $value = shift(@_);
$name =~ s/([^ a-zA-Z0-9_.-])/uc sprintf("%%%02x",ord($1))/eg;
$name =~ tr/ /+/;
$value =~ s/([^ a-zA-Z0-9_.-])/uc sprintf("%%%02x",ord($1))/eg;
$value =~ tr/ /+/;
$query .= "$name=$value&";
}
chop($query);
return $query;
}