Seite 1 von 1

POST Request

Verfasst: Dienstag 2. Oktober 2012, 18:34
von StefanLawl
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?

Re: POST Request

Verfasst: Dienstag 2. Oktober 2012, 19:54
von nomnom
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.

Re: POST Request

Verfasst: Dienstag 2. Oktober 2012, 20:16
von Hyperion
Und allgemein die Empfehlung für das `Requests`-Modul nicht zu vergessen ;-) Die Standard-Lib `urlib*`s haben keine schöne API.

Re: POST Request

Verfasst: Dienstag 2. Oktober 2012, 22:23
von StefanLawl
Danke für die Antworten :)