ich wünschte, diese Möglichkeit würde sich bieten, allerdings ist es ja kein Formular, das gepostet werden soll. Mir steht nur die URI (wie etwa http://abc.de/action/) und ein content-String (action=update&language=...etc.) zu Verfügung. Die URI enthält also kein Formular, wenn ich sie ohne den content-String aufrufe, erhalte ich eine Fehlermeldung, das ist aber kein HTTP-Statuscode.
So schwer ist das nun wirklich nicht:
use WWW::Mechanize;
my $mech = WWW::Mechanize->new;
my $url = 'http://example.org/some_script.pl';
my $response = $mech->post($url, [ 'field_1' => 'Content', 'field_2' => 'More content' ]);
print $response->content if $response->is_success;
Oder über Alexanders Weg:
my $mech = WWW::Mechanize->new;
my $url = 'http://example.org/seite_mit_formular.html';
$mech->get($url);
my $res = $mech->submit_form( form_number => 1,
fields => { 'field_1' => 'Content',
'field_2' => 'More Content' }
);
print $res->content if $res->is_success;
Variante 2 setzt natürlich eine HTML-Seite mit einem existierenden Formular voraus, während Variante 1 einen simplen POST-Request absetzt, wie in LWP::UserAgent vorgesehen.
Siechfred
--
Hinter den Kulissen passiert viel mehr, als man denkt, aber meistens nicht das, was man denkt.
Hinter den Kulissen passiert viel mehr, als man denkt, aber meistens nicht das, was man denkt.