Thread PopUp aus WWW::Mechanize Script "beantworten"
(42 answers)
Opened by roli at 2010-03-11 15:52
roli, ich hab Dir mal ein funktionierendes Beispiel gebaut:
testform.html mit Pseudo-Button: Code: (dl
)
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> testform.pl, damit man sieht, was übermittelt wurde: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 #!/usr/bin/perl -w use strict; use warnings; require 5.8.0; use CGI; use Data::Dumper; use Fcntl qw (:DEFAULT :flock); my $q = CGI -> new; print $q -> header . 'Hallo!'; print '<pre>'; foreach my $var ($q->param) { print "$var => " . $q->param($var) . "\n"; } print '</pre>'; Und am Ende das ganze per Mechanize: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 #!/usr/bin/perl -w use strict; use warnings; use WWW::Mechanize; # Benutze 1.58 auf Strawberry 5.10.1 my $start_url = 'http://www.url.de/testform.html'; # <= Bitte anpassen!! my ($mech,$response,$data); $mech = WWW::Mechanize -> new ( quiet => 1 ); $response = $mech -> get ($start_url); if (defined $response) { $data = $response -> content; $response = $mech -> form_number (1); $mech -> field ('testtext1','test1'); $mech -> field ('testtext2','test2'); # usw. für jedes Feld $response = $mech -> submit_form (); if (defined $response) { $data = $response -> content; print "Bin drin:\n*****\n$data\n*****\n"; } else { die "Submit fehlgeschlagen!\n"; } } else { die "$start_url ist nicht erreichbar\n"; } 10 print "Hallo"
20 goto 10 |