2. Der Code als Subroutine:
sub build_forum_connection {
### Login Sequence :
# Step 0 : (require Perl modules)
use LWP::UserAgent;
use HTTP::Request::Common qw(POST GET);
use HTTP::Cookies;
# Step 1 : (prepare cookie)
$ua = LWP::UserAgent->new;
$ua->cookie_jar(HTTP::Cookies->new(file => "Name des Cookies", autosave => 1));
# Step 2 : (proof url)
$res = $ua->request(HTTP::Request->new(GET => "URL des Forums"));
print $res->status_line, "\n";
# step 3 :
my $ua = LWP::UserAgent->new;
# Define user agent type
$ua->agent('Mozilla/8.0');
# Cookies
$ua->cookie_jar(HTTP::Cookies->new(file => 'Name des Cookies', autosave => 1 ));
# Request object
my $req = GET 'URL des Forums';
# Make the request
my $res = $ua->request($req);
# Check the response - deactivated
#if ($res->is_success) {print $res->content;}
#else {print $res->status_line . "\n";}
# Step 4 : (send login data to login form)
# Login Form über Quelltext : URL des Forums ermitteln
my $req = POST 'Login Form des Forums' , [ vb_login_username => 'User Name', vb_login_password => 'User Passwort', cookieuser => '1', s => "", do => 'login', forceredirect => '1' ] ;
# Make the request
my $res = $ua->request($req);
# Check the response (deactivated because response does contain an unwanted redirection)
#if ($res->is_success) {print $res->content;}
#else {print $res->status_line . "\n";}
### Hurra - wir sind eingeloggt ###
# / Login Sequence
### Anleitung zum Verfassen von Beiträgen ###
# Gewünschten Forumsbeitrag anforden:
my $req = GET 'URL des Forumsbeitrages';
my $res = $ua->request($req);
## if ($res->is_success) {print $res->content;} # nur zur Kontrolle erforderlich
## else {print $res->status_line . "\n";} # nur zur Kontrolle erforderlich
# Quelltext des Forumsbeitrages ermitteln ( URL der ANTWORT Funktion wir benötigt ) und
# aus Quelltext der aufgerufenen ANTWORT Seite die notwendigen Variablen für POST und die "Sende an URL" der ANTWORT Seite ermiteln
# Bzw. im Quelltext : FORM TAG analysieren
# Antwortseite anforden:
my $req = GET 'URL der ANTWORT Funktion';
my $res = $ua->request($req);
# POST formulieren:
# Nachfolgendes Beispiel hat einen Beitrag gemeldet : Beitrag Melden Funktion
my $req = POST 'Senden an URL der Antwortseite' , [do => '...' , s => "" , reason => '...' , p => '...' , url =>'...' ] ;
my $res = $ua->request($req);
# Erfolgskontrolle (optional):
my $req = GET 'URL des Forumsbeitrages';
my $res = $ua->request($req);
if ($res->is_success) {print $res->content;} # nur zur Kontrolle erforderlich
else {print $res->status_line . "\n";} # nur zur Kontrolle erforderlich
### / Anleitung zum Verfassen von Beiträgen ###
} # / sub build_forum_connection
Ich habe den Code nur mal eben schnell mit eigenen Kommentaren versehen - ich hoffe, das ist eingermaßen verständlich.