Python requests - Login nicht möglich

Hallo liebe Community!
Ich zerbreche mir gerade den Kopf, warum folgender Python-Code nicht funktioniert.
Wenn ich mir .headers ausgeben lasse, kommt nichts brauchbares raus und der CookieJar ist auch leer.
Würde das ganze außerdem gern über die requests-Bibliothek laufen lassen (der Einfachheit wegen :) ).

Falls es relevant ist: Das ganze ist eine https-Verbindung mit gültigem Zertifakt (beide Seiten, sowohl die, die funktioniert, als auch die, bei der mein Code noch nicht läuft).

Code:
# Folgendes Script funktioniert auf einer anderen Seite, wenn die Adresszeile folgendermaßen aussieht:
# Login-Site: example.com/login.php
# Subpage: example.com/subpage.php
# aber nicht nach diesem Schema (?action=login):
# Login-Site: example.com/index.php?action=login
# Subpage: example.com/index.php?action=subpage
#
# Habt ihr eine Idee wieso?



from requests import session

username = 'zehnzwanzig'
password = 'mypass'
payload = { 'name' : username, 'pass' : password }

with session() as c:
    c.post('https://example.com/index.php?action=login', data=payload)
    response = c.get('https://example.com/index.php?action=subpage')
    print(response.text)

Hat dazu jemand eine Idee? Möchte das ganze natürlich nicht auf dem Silbertablett serviert bekommen, aber ich bräuchte einen kleinen Arschtritt Denkanstoß in die richtige Richtung.

Danke schonmal für eure Ideen :)

Lg
 
Zuletzt bearbeitet:
Dann bau dir lokal mal alles nach und schau was der Webserver für Logs wirft. Evtl kommt der Code nicht damit klar das du GET und POST direkt miteinander vermischst.
 
Dann bau dir lokal mal alles nach [...]
Dafür bin ich in dem Bereich dann leider doch etwas zu unerfahren.
Ich gehe jetzt den Weg des geringsten Widerstands und rufe die Daten von der ersten Seite ab, bei der der Login funktioniert.

Ist zwar etwas Herumrechnerei und Formatieren, weil die Daten anders aufbereitet sind, lässt sich aber auch bewerkstelligen.
Zuviel mag ich da auch nicht rumdoktoren, da die Server in Live-Betrieb sind und ich nicht alles krachen lassen möchte. (Stichwort "kopieren" oder auf die PostgreSQL Datenbank zugreifen).

Irgendwann komm ich schon noch dahinter! Danke jedenfalls :)
 
Zurück
Oben