Axel: Formular mit Post abrufen

Hallo,

ich versuche, mittels eines Perl-Programmes auf den Seiten des Kicker (www.kicker.de) den Punktestand beim dortigen Managerspiel abzurufen. Es gelingt mir aber nicht so richtig.

Ruft man die folgende Seite auf:
http://www.kicker.de/login/?ReturnUrl=/games/kickerblma0607/classic/meinkader?

und gibt dort als Nickname: milkman_2
mit Passwort: 12345678

müsste man eigentlich auf die Seite Gesamtwertung kommen. Rufe ich diese Seite aber mittels eines Perl-Skripts mit folgendem Befehl ab:

$res = $ua->post("http://www.kicker.de/login/?ReturnUrl=/games/kickerblma0607/classic/meinkader?
",
  ['userTextBox'=>'milkman_2',
                  'passwortTextBox'=>'12345678',
                  'rootPath'=>'http://www.kicker.de', 'returnUrlTextBox'=>'/games/kickerblma0607/classic/gesamtwertung?'
   ]);

if ($res->is_success) {
 print "Inhalt:<br>";
        print $res->content;
}

erscheint in der Ausgabe(-html-)Seite wieder das Eingabeformular. Gebe ich dort von Hand "milkman_2" und das Passwort "12345678" ein, gelange ich auf die Seite, die ich eigentlich mittels des Perl-Skripts automatisch abrufen will.

Was mache ich falsch?

  1. Hey,

    falsches Werkzeug. Nimm WWW::Mechanize, wenn Formulare im Spiel sind.

    > mech-dump http://www.kicker.de/login/?ReturnUrl=/games/kickerblma0607/classic/meinkader?
        POST http://www.kicker.de/home/suchergebnisse
          q=                             (text)
          Submit=<UNDEF>                 (button)
          suche=web                      (radio)    [kicker|*web/Web]

    POST http://www.kicker.de/community/login/
          userTextBox=                   (text)
          returnUrlTextBox=/games/kickerblma0607/classic/meinkader? (hidden readonly)
          passwortTextBox=               (password)
          loginPersistant=<UNDEF>        (checkbox) [*<UNDEF>/off|on]
          loginButton=Login              (submit)
          registerButton=<UNDEF>         (button)
          emailTextBox=                  (text)
          pwAnfordernButton=Passwort anfordern (submit)

      
    #!perl  
    use strict;  
    use diagnostics;  
    use Data::Dumper;  
    use WWW::Mechanize;  
      
    my $mech = WWW::Mechanize->new;  
    $mech->get('http://www.kicker.de/login/?ReturnUrl=/games/kickerblma0607/classic/meinkader?');  
      
    $mech->submit_form(  
        form_number => 2,  
        fields  => {  
            userTextBox      => 'milkman_2',  
            passwortTextBox  => '12345678',  
        },  
        button    => 'loginButton',  
    );  
      
    #print Dumper [  
    #    $mech->uri,  
    #    $mech->status,  
    #    $mech->ct,  
    #    $mech->base,  
    #    $mech->links,  
    #    $mech->title,  
    #    $mech->content,  
    #] if $mech->success;  
      
    print "Drin!\n" if $mech->content =~ /Mein Kader/;  
    
    
    --
    水-金-地-火-木-土-天-海-冥
    1. Ich danke Dir ganz herzlich! Große Klasse!