gdesklet für ogame

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
xXSkyWalkerXx1
User
Beiträge: 379
Registriert: Mittwoch 27. Juni 2018, 17:39

Asoo! Ahhh... Ich dachte mit requests.session().post() sendet man z. B die Logindaten und dann bleibt man eingeloggt, kein Wunder wieso mein einer Versuch in meinem Tool nicht funktioniert. xD
xXSkyWalkerXx1
User
Beiträge: 379
Registriert: Mittwoch 27. Juni 2018, 17:39

Okay, ich habe mal ein Codebeispiel (selbst geschrieben).
Der Login ist erfolgreich, dennoch komme ich nicht auf die Übersichtsseite von

Ogame, also das Login erfolgt so:
Logindaten eingeben - Button klick - Seite lädt - Button klicken - Seite lädt (Universumauswahl) - Button klicken - Übersichtsseite lädt (das eigentliche Spiel sozusagen)

Mein Beispiel:

Code: Alles auswählen

from bs4 import BeautifulSoup as bs
import requests



class OGame_Tool():
    def __init__(self):
        self.email          = ""
        self.passwort       = ""
        self.user_agent     = "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.108 Safari/537.36"
        self.game_url       = "https://s159-de.ogame.gameforge.com/game/index.php?page=overview"
        self.php_sessid     = "" #Unter Entwicklertools - "Application"
        self.prsess         = ""
        self.login_string   = ""
        self.login()

    def login(self):
        login_data  = {'login':self.email , 'pass':self.passwort}
        cookie      = {'PHPSESSID':self.php_sessid , 'prsess_106290':self.prsess , 'login_106290':self.login_string}
        
        session = requests.session()

        session.post(self.game_url, data=login_data, cookies=cookie)
        overlay = session.get(self.game_url)
        print("Current URL: "+overlay.url+"\n")


        
tool = OGame_Tool()
Allerdings gelange ich nur auf die Seite, die nach dem Einloggen geladen wird, also noch nicht das eigentliche Spiel.
Doch ich verstehe nicht wieso - Login funzt, liegts an den Cookies? Sollte doch auch stimmen - oder nicht?

Wobei, mir fällt gerade ein, dass "prsess_106290 " & "login_106290" (nur die Zahlen nach "prsess_" bzw "login_") , sowie self.php_sessid, self.prsess und self.login_string sich ständig ändert. Wie erhalte ich diese Werte dynamisch?
Im HTMl-Code stehen diese nicht, sondern in "Entwicklertools"-"Application".
Antworten