Python und mechanisieren Login-Skript

8

Hallo Kollegen Programmierer!

Ich versuche ein Skript zu schreiben, um mich mit Python und dem Mechanize-Modul auf der "Food Balance" -Page meiner Universität anzumelden ...

Dies ist die Seite, in die ich mich einzuloggen versuche: Ссылка Die Webseite hat folgendes Login-Formular:

%Vor%

Daraus wissen wir, dass ich die folgenden Felder ausfüllen muss: 1. Name = ID 2. Name = PIN

Mit der Aktion: action = https: //itapp.wcu.edu/BanAuthRedirector/Default.aspx

Dies ist das Skript, das ich bis jetzt geschrieben habe:

%Vor%

Jetzt das Problem ...

Aus irgendeinem seltsamen Grund ist die Seite, die ich zurückbekomme (in mycatpage.html), die Anmeldeseite und nicht die erwartete Seite, auf der mein "Katzenkassenguthaben" und "Anzahl der Blockmahlzeiten" angezeigt wird ...

Hat jemand eine Idee warum? Denken Sie daran, dass alles mit den Header-Dateien stimmt und während die ID und der Pass nicht wirklich 111111111 und 222222222 sind, funktionieren die korrekten Werte mit der Website (mit einem Browser ...)

Vielen Dank im Voraus

BEARBEITEN

Ein anderes Skript, das ich ausprobiert habe:

%Vor%

Das hat das gleiche Verhalten ...

    
Perun 13.04.2012, 00:49
quelle

3 Antworten

1
%Vor%

Ich glaube, das ist die Problemlinie.

Versuchen Sie, es in

zu ändern %Vor%

Ich bin mir auch ziemlich sicher, dass du br.form.action = 'https://itapp.wcu.edu/BanAuthRedirector/Default.aspx' nicht brauchst, weil du das Formular bereits ausgewählt hast, also sollte nur der Aufruf von submit funktionieren, aber ich könnte falsch liegen.

Zusätzlich habe ich eine ähnliche Aufgabe nur mit urllib und urllib2 gemacht, wenn das nicht funktioniert, werde ich diesen Code posten.

Bearbeiten: Hier ist die Technik, die ich mit urllib und urllib2 verwendet habe:

%Vor%

Bearbeiten 2:

%Vor%

Das könnte dein Problem sein? Nicht sicher.

Bearbeiten 3:

Ich benutze einen HTML-Inspektor, ich denke, es gibt eine gute Chance, dass Sie 'wcuirs_uir' auf 'https://cf.wcu.edu/busafrs/catcard/idsearch.cfm' setzen müssen. Ich bin mir 95% sicher, dass das funktionieren wird.

    
Nolen Royalty 13.04.2012 01:17
quelle
0

Ich schlage folgende Bibliothek vor: Ссылка

Es ist eine nette und einfache Bibliothek. Es hat eine gute Dokumentation. Ich habe diese Bibliothek benutzt, um verschiedene Arten von Skripten zu machen, genau wie die, die Sie gerade machen.

Sie müssen so etwas tun:

%Vor%

Sie können weitere Informationen hier

erhalten     
Federico Ponte 23.09.2014 16:10
quelle
0

Eine andere Lösung, die ich mit ASPX verwechselt habe, ist Robobrowser .

Zum Beispiel:

%Vor%

Hinweis: Möglicherweise müssen Sie das Formular aktualisieren, um versteckte Formularfelder wie __VIEWSTATE und Freunde vor dem Senden in das Formular einzufügen. Weitere Informationen finden Sie in diesem Beitrag.

    
Patrick 08.01.2015 02:29
quelle