use LWP::UserAgent, Daten mit POST übertragen
Ralf
- perl
Hallo,
ich möchte mit aus einem Perl Script einen URL aufrufen und dabei Daten mit POST übergeben.
Der URL ist Passwort geschützt.
#!/usr/local/bin/perl
print "Content-type: text/html\n\n";
use LWP;
use LWP::UserAgent;
my $URI = 'http://meineDomain/test.php';
my $user = 'NAME';
my $pass = 'PW';
# define user agent
my $ua = LWP::UserAgent->new();
$ua->agent("USER/AGENT/IDENTIFICATION");
# make request
my $request = HTTP::Request->new(POST => $URI);
# authenticate
$request->authorization_basic($user, $pass);
# except response
my $response = $ua->request($request);
# get content of response
my $content = $response->content();
# do whatever you need to do with the content here
print $content;
Der Aufruf und die Übergabe von $user und $pass funktionieren.
Aber wie bekomme ich meine key->value Paare, die ich übergeben möchte hier rein?
Gruß
Ralf
hi,
Der Aufruf und die Übergabe von $user und $pass funktionieren.
Aber wie bekomme ich meine key->value Paare, die ich übergeben möchte hier rein?
Bei einem POST liegen key/value-Pairs im MessageBody. Auch dieses Gefummel kann Dir LWP abnehmen. Beispiel (sub test).
Horst
Hi,
Bei einem POST liegen key/value-Pairs im MessageBody. Auch dieses Gefummel kann Dir LWP abnehmen. Beispiel (sub test).
Danke. Aber irgenwie sehe ich da nicht durch. Ich muss das doch irgenwie bei
my $request = HTTP::Request->new(POST => $URI);
~~~ reinbringen. Aber wie?
Ralf
Hi,
Bei einem POST liegen key/value-Pairs im MessageBody. Auch dieses Gefummel kann Dir LWP abnehmen. Beispiel (sub test).
Danke. Aber irgenwie sehe ich da nicht durch. Ich muss das doch irgenwie bei
my $request = HTTP::Request->new(POST => $URI);
Ganz einfach:
~~~perl
my $ua = LWP::UserAgent->new;
my $req = POST $url,
Content => [
post => 1,
];
Horst Host