Pythons Kommunikation mit PHP

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
murph
User
Beiträge: 622
Registriert: Freitag 14. April 2006, 19:23
Kontaktdaten:

Ich habe angefangen, einen Clienten zu schreiben, erstmal testweise.
Ein Pythonskript loggt sich mit den Spielerdaten ein und soll eine Seite auslesen. Das klappt auch alles sehr gut, nur die SESSION-IDs werden nicht unterstützt! Ich bekomme als antwort meinen Link zur Login-Seite, was heißt, dass die Session-ID leer ist. Hier ausschnittweise die Skripts, bei Bedarf nachfragen:

Code: Alles auswählen

#!/usr/bin/env python
import urllib, anydbm, sys

#die Datenbank wird abgefragt

dbm = anydbm.open("configs.dbm","r")
Spielername = str(dbm['Spielername'])
Passworthash = str(dbm['Passworthash'])


#Nun kommt die Connection

connection = urllib.urlopen("http://fragezeichen.parallel-universum.info/loginpy.php?name=%s&kennwort=%s" % (Spielername, Passworthash))
test = connection.read()
if test == "0":
    print "Entweder, Ihr Account ist gelöscht, oder Sie haben keine Verbindung zum Internet. Falls keines von beidem der Fall ist, bitte bei murph(at)gmx(punkt)net melden"
    sys.exit()
elif test == "1":
    connection2 = urllib.urlopen("http://fragezeichen.parallel-universum.info/connecter4py.php")
    berechnen = connection2.read()
    text = open("berechnen.py", 'w')
    text.write(berechnen)
    text.close
dbm.close()
connection.close()
connection2.close()
in berechnen.py steht dann der link...Die Session-ID wird auf jeden fall gesetzt, da habe ich zuerst gekuckt, weil das die logischste Möglichkeit gewesen wäre, dem ist aber nicht so. Bei Google konnte ich auch nichts finden...
BlackJack

Ich sehe in Deinem Quelltext überhaupt nichts von Session-IDs!?
murph
User
Beiträge: 622
Registriert: Freitag 14. April 2006, 19:23
Kontaktdaten:

die sind im php-skript integriert. Der setzt die Session-IDs
nbkr
User
Beiträge: 28
Registriert: Montag 30. Mai 2005, 11:32

PHP gibt die SessionID entweder in einem Cookie weiter oder per URL. Du könntest also in der zweiten Abfrage die ID über &PHPSESSID=sessionid setzen. Wobei Du natürlich die passende SessionID setzen musst. Die bekommst Du aus dem Cookie oder aus der Antwortseite der ersten Verbindung insofern da ein Link drin ist.
murph
User
Beiträge: 622
Registriert: Freitag 14. April 2006, 19:23
Kontaktdaten:

Vielen Dank!
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

nbkr hat geschrieben:PHP gibt die SessionID entweder in einem Cookie weiter oder per URL.
Hi murph!

Falls du die SessionID in einem Cookie bekommst, dann empfehle ich dir ClientCookie zu verwenden. Dann musst du dich um das Cookie nicht selbst kümmern.

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
murph
User
Beiträge: 622
Registriert: Freitag 14. April 2006, 19:23
Kontaktdaten:

offtopic: installiere jetzt Distutils, habe vorher Settuptools gehabt, aber alle downloadbare module ssind auf Distutils abgestimmt!
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

murph hat geschrieben:offtopic: installiere jetzt Distutils, habe vorher Settuptools gehabt, aber alle downloadbare module ssind auf Distutils abgestimmt!
Setuptools sind eine Art Obermenge, die Distutils erweitert.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Antworten