POST Request

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Benutzeravatar
StefanLawl
User
Beiträge: 92
Registriert: Donnerstag 7. Juni 2012, 20:23

Hallo,

ich wollte testen, ob ich mich mit Python in eine Webseite einloggen kann (mit Username und Passwort). :mrgreen:
Ich erhalte zwar keine Fehlermeldung, aber der Quelltext (der Seite) die mir ausgegeben wird, ist nicht der, den man wirklich bekommt, nachdem man sich eingeloggt hat.

Code: Alles auswählen

import urllib, urllib2

def URLRequest(url, params):
    req= urllib2.Request(url, params)
    f = urllib2.urlopen(req)
    print f.read()

url="http://www.area51cheatserver.com/forums/ucp.php?mode=login"
username=raw_input("Username: ")
password=raw_input("Password: ")
params = urllib.urlencode({'username': username, 'password': password})
URLRequest(url, params)
Ausgegeben wird mir dann der Quelltext von der Loginseite. :/

Wo ist der Fehler? :K Oder hab ich das komplett falsch verstanden?
Man sagt uns wir sollen der Idee gedenken und nicht des Mannes. Denn ein Mensch kann versagen. Er kann gefangen werden. Er kann getötet und vergessen werden. Aber 400 Jahre später kann eine Idee immer noch die Welt verändern.
-V
nomnom
User
Beiträge: 487
Registriert: Mittwoch 19. Mai 2010, 16:25

Für den Login sind auch Cookies nötig, ich denke darin liegt das Problem. Für Passworteingaben bietet sich auch das getpass-Modul an.
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Und allgemein die Empfehlung für das `Requests`-Modul nicht zu vergessen ;-) Die Standard-Lib `urlib*`s haben keine schöne API.
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
Benutzeravatar
StefanLawl
User
Beiträge: 92
Registriert: Donnerstag 7. Juni 2012, 20:23

Danke für die Antworten :)
Man sagt uns wir sollen der Idee gedenken und nicht des Mannes. Denn ein Mensch kann versagen. Er kann gefangen werden. Er kann getötet und vergessen werden. Aber 400 Jahre später kann eine Idee immer noch die Welt verändern.
-V
Antworten