ccc: /[PERL] POST String entgegennehmen/auslesen

Hallo,

folgendes, ich habe eine Website welche einen POST String von einem PERL Script eintgegennehmen soll, habe nur keine Idee mit welcher Funktion / Variable ich den POST String auslesen kann.
Das PERL Script welche die Daten ist folgendes:

sub xml_request{

my($xml_url, $xml) = @_;

# Create a user agent object
         use LWP::UserAgent;
         my $ua = LWP::UserAgent->new;

# Create a request
         my $req = HTTP::Request->new(POST => $xml_url);
         $req->content_type('text/xml');
         $req->content($xml);

# Pass request to the user agent and get a response back
         my $res = $ua->request($req);
         my $resp = $res->content;

return $resp;
}

Mein erster Lösungsansatz war "global $HTTP_POST_VARS;" jedoch kann ich damit doch nur Daten auslesen wenn diese nen bestimmten Key haben, welcher aber mit dem PERL Script nicht mitübergeben wird?!

  1. Mahlzeit,

    POST wird aus STDIN gelesen, serverseitig, also das Script was den POST entgegennimmt.

    Ein Perl Script was einen POST macht, könnte so aussehen:

    #!/usr/bin/perl
    use LWP::UserAgent;
    $ua = LWP::UserAgent->new(agent => 'XXL Browser');
    use HTTP::Request::Common qw(POST);

    1.Test - Umgebung

    my $req = POST 'http://example.com/cgi-bin/variables.cgi',
    [
    name => 'rolf',
    text => 'text',
    num => '1234',
    ];

    ggf. Referer faken

    $req->referer('my_referer.wasweissich.de');
    print $ua->request($req)->as_string;

    File Upload:
    use LWP::UserAgent;
    $ua = LWP::UserAgent->new(agent => 'XXL Browser');
    use HTTP::Request::Common qw(POST);

    2.Test - FileUpload

    my $req = POST 'http://example.com/cgi-bin/upload.cgi',
    Content_Type => 'form-data',
    Content => [
    name => 'rolf',
    text => 'text',
    num => '1234',
    filename   => ["c:/config.sys"],
    ];
    print $ua->request($req)->as_string;

    Gruss, Rolf

  2. echo $begrueszung;

    $req->content($xml);

    Wenn ich das so sehe, könnte ich mir vorstellen, dass du bei gesetzter Option always_populate_raw_post_data (PHP_INI_PERDIR-Konfiguration => Entry can be set in php.ini, .htaccess or httpd.conf) die Daten in $HTTP_RAW_POST_DATA findest.

    echo "$verabschiedung $name";