vBulletin Login mit requests

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
SeBu
User
Beiträge: 16
Registriert: Samstag 4. Januar 2014, 11:36

Hallo,

ich scheitere gerade am Login in ein vBulletin Board mit requests.

Das Loginformular sieht so aus:

[codebox=html5 file=Unbenannt.html]<form action="login.php?do=login" method="post" onsubmit="md5hash(vb_login_password, vb_login_md5password, vb_login_md5password_utf, 0)">
<input type="hidden" name="do" value="login" />
<input type="hidden" name="url" value="/forum/login.php" />
<input type="hidden" name="vb_login_md5password" />
<input type="hidden" name="vb_login_md5password_utf" />
<input type="hidden" name="s" value="" />
<input type="hidden" name="securitytoken" value="guest" />
<input type="text" class="bginput" name="vb_login_username" size="50" accesskey="u" tabindex="1" />
<input type="password" class="bginput" name="vb_login_password" size="50" accesskey="p" tabindex="1" />
<input type="checkbox" name="cookieuser" value="1" id="cb_cookieuser" tabindex="1" /></form>[/code]


Beim "normalen" Login im Browser wird das hier geschickt (Quelle ist die Netzwerkanalyse von Firefox):

[codebox=text file=Unbenannt.txt]do=login&url=%2Fforum%2Findex.php&vb_login_md5password=<hash>&vb_login_md5password_utf=<hash>&s=&securitytoken=guest&vb_login_username=<username>&vb_login_password=&cookieuser=1[/code]

Mein Ansatz:

Code: Alles auswählen

logindict = {"vb_login_md5password": "<hash>",
             "vb_login_md5password_utf": "<hash>",
             "securitytoken": "guest",
             "s": "",
             "do": "login",
             "login_username": "<username>",
             "cookieuser": 1,
             "vb_login_password": "",
             "url": "/forum/index.php"
             }

forumuser = requests.session()
forumuser.get("https://url.de/forum/login.php")
forumuser.post("https://url.de/forum/login.php?do=login", data=logindict)
print(requests.get("https://url.de/forum/forumdisplay.php?f=154").content)
Das print gibt mir erneut die Login Seite aus, da ich keine Rechte für den geschützten Bereich habe. Irgendwo muss der Login also fehlerhaft sein. Ich hoffe von euch kann jemand helfen.

lg,
Sebastian
SeBu
User
Beiträge: 16
Registriert: Samstag 4. Januar 2014, 11:36

SeBu hat geschrieben:

Code: Alles auswählen

print(requests.get("https://url.de/forum/forumdisplay.php?f=154").content)
Tippfehler hier im Forum, dass soll natürlich forumuser und nicht requests sein. Ebenfalls erfolglos (Das macht die session ja eigentlich auch automatisch, oder?):

[codebox=text file=Unbenannt.txt]print(forumuser.post("https://url.de/forum/forumdisplay.php?f=154", cookies=forumuser.cookies).content)
[/code]
Antworten