Thread Forum abschicken mit WWW::Mechanize (34 answers)
Opened by jogi at 2007-10-11 21:33

jogi
 2007-10-12 17:59
#100767 #100767
User since
2007-07-25
55 Artikel
BenutzerIn
[default_avatar]
Hilfe! Bitte was mache ich falsch?

Quote
Can't call method "find_input" on an undefined value at C:/Perl/site/lib/WWW/Mec
hanize.pm line 1586.


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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#!/usr/bin/perl
#use strict;
#use warnings;
#use diagnostics;
use HTTP::ProxyCheck;
use WWW::Mechanize;

my $url = "http://www.rapidshare.com";
open (FILE, "<proxies.txt") or die $!;
while (my $proxy = <FILE>) {
        chomp $proxy;
        my $proxy_check = new HTTP::ProxyCheck(
    proxy       => $proxy,
    url         => $url,
    answer_size => 'short',
    print_error => 0,
    )
    or die $HTTP::ProxyCheck::error;

    print "Trying to connect to '$proxy' and retrieve '$url'\n";

    if ( $proxy_check->check() ) {
        my $answer = $proxy_check->get_answer();
        print "'$proxy' returns:\n\n", $answer, "\n\n";
        if ($answer =~ /HTTP\/1.0 200 OK/ or $answer =~ /HTTP\/1.1 200 OK/)
        {
            my $mech = WWW::Mechanize->new;
            
            $mech->timeout(10);

            $mech->add_header( 'accept-language' => 'de') or die();

            $mech->proxy(['http', 'ftp'], 'http://$proxy/') or die();

            $mech->get("http://www.rapidshare.com/files/47486343/PowerOptions.pdf") or die();

            $mech->click_button( number => '2' ) or die();
           
            warn $mech->content;

            my $content = $mech->content;

            if ( $content =~ /\(\w+\s\w+\s(.*)\s\w+\)/i ) {
                print "warte $1 Minute(n).\n";
            }
            elsif ( $content =~ /Kein Premium-User/i ) {
                print "Kein Premium-User.\n";
            }
            elsif ( $content =~ /Zu viele Benutzer laden gerade Dateien runter./i ) {
                print "Zu viele Benutzer laden gerade Dateien runter.\n"
            }
            elsif ( $content =~ /Du musst warten, bis der Download fertig ist./i ) {
                print "Du musst warten, bis der Download fertig ist.\n"
            }
            else { print "Unknown error"; }
                }
    }
    else {
        print "Error: ", $proxy_check->get_error(), "\n";
    }
}
close (FILE);
exit;

View full thread Forum abschicken mit WWW::Mechanize