Leser: 20
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
#!/usr/bin/env perl use warnings; use strict; use LWP; use HTTP::Cookies; my $ua = LWP::UserAgent->new( timeout => 20, keep_alive => 1, agent => 'Mozilla/5.0 (X11; U; Linux x86_64; de; rv:1.9.2.0) Gecko/20100115 SUSE/3.6.0-1.2 Firefox/3.6', cookie_jar => new HTTP::Cookies, requests_redirectable => [ 'HEAD', 'GET', 'POST' ] ); my $start_url = 'http://www.start_url.gt'; my $loginData = "userName=username&password=password&...&..."; my $loginUrl = "https://www.hallo_welt.gt/login.do"; my $req = HTTP::Request->new( POST => $loginUrl ); $req->content( $loginData ); $req->header( 'Content-type' => 'application/x-www-form-urlencoded' ); $req->header( 'Referer' => $start_url ); my $reply = $ua->
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 29 30 31 32 33 34 35 36
#!/usr/bin/perl -w use strict; use warnings; use WWW::Mechanize; my $start_url = 'http://www.start_url.gt'; my $loginUrl = "https://www.hallo_welt.gt/login.do"; my ($mech,$response,$data); $mech = WWW::Mechanize -> new ( quiet => 1 ); $response = $mech -> get ($loginUrl); if (defined $response) { $data = $response -> content; $response = $mech -> form_number (1); $mech -> field ('userName','username'); $mech -> field ('password','password'); # usw. für jedes Feld $response = $mech -> submit_form (); if (defined $response) { $data = $response -> content; $response = $mech -> get ($start_url); if (defined $response) { $data = $response -> content; print "Bin drin:\n*****\n$data\n*****\n"; } else { die "Bekomme die Start-URL nicht\n"; } } else { die "Login fehlgeschlagen!\n"; } } else { die "$start_url ist nicht erreichbar\n"; }
Guest GastDas Skript läuft ohne zu sterben, aber ich komme nur bis zu Login-Seite. Lieg das daran, dass diese Seite Javascript verwendet?
1 2 3 4 5 6 7 8 9 10 11 12 13
#!/usr/bin/env perl use strict; use warnings; use WWW::Mechanize; my $start_url = 'start_url'; my $loginData = 'loginData'; my $loginUrl = 'loginUrl'; my $mech = WWW::Mechanize->new( show_progress => 1 ); my $req = $mech->post( $loginUrl, "Content-type" => 'application/x-www-form-urlencoded', "Referer" => $start_url, "Content" => $loginData ); print $req->content( format => 'text' );
Guest GastWollte mich am Ende des Threads mit einem Gedicht bedanken.
Guest GastDas scheint zu funktionieren - bis auf das "format => text", was wirkungslos bleibt.
QuoteReturns a text-only version of the page, with all HTML markup stripped. This feature requires HTML::TreeBuilder to be installed, or a fatal error will be thrown.
Guest GastTreeBuilder ist installiert
es wird einfach ignoriert
(das ist auch mein Gedicht)
2010-02-25T11:18:56 GwenDragonKorrekt, in WWW-Mechanize 1.60 unter Perl 5.8 und 5.10 wird das, obwohl HTML-TreeBuilder installiert, ignoriert.