Seite 1 von 1

Session ID auslesen

Verfasst: Sonntag 16. Oktober 2022, 19:21
von Peter-
Hallo Zusammen,

ich möchte eine Webseite mit Sessions versehen. Hier der Code:

import requests
x=requests.Session()
print(x)

Das gibt das hier aus:

<requests.sessions.Session object at 0x908aju890as4>

Wenn ich nun nur die Zahl haben will, wie komme ich da ran?
Also in php etwa sowas hier:
foo=x[0]
print (foo)

Gewünschte Ausgabe:
0x908aju890as4

Wie komme ich an diese Zahl aus der Sesssion ran?

Danke im Voraus

Re: Session ID auslesen

Verfasst: Sonntag 16. Oktober 2022, 19:24
von Sirius3
`x` ist ein sehr schlechter Variablenname für eine Session.
Was meinst Du mit Session-ID? Denn die ID die Du da herausgesucht hast, ist bestimmt nicht das, was Du suchst.

Re: Session ID auslesen

Verfasst: Sonntag 16. Oktober 2022, 19:26
von sparrow
@Peter-: Die "Zahl" ist die interne ID des "requests.sesions.Session"-Objektes. Also etwas, das Python intern vergibt und möglicherweise eine Speicheradresse ist. Was denkst du, wofür du die brauchst?

Re: Session ID auslesen

Verfasst: Sonntag 16. Oktober 2022, 19:30
von Peter-
>Denn die ID die Du da herausgesucht hast, ist bestimmt nicht das, was Du suchst.

Ah ok, dann war es wirklich gut dass ich gefragt habe.
Also was ich brauche ist die ID des jeweiligen Nutzers. Jemand logt sich auf einem Portal ein und bekommt eine Session-ID zugewiesen. Damit kann mein Portal ihn auf jeder einzelnen Seite wieder erkennen, ohne dass ich mit Post-Method übergeben muss. D. h. die Session-ID identifiziert den jeweiligen Nutzer. Sie wird bei jedem Login neu vergeben und ich speichere sie immer in der Datenbank ab und lasse jede Seite prüfen ob sie zur übergebenen Nutzer-ID passt. Ich hoffe ich konnte das gut erklären, wenn nicht kann ich gerne noch genauer beschreiben.

Re: Session ID auslesen

Verfasst: Sonntag 16. Oktober 2022, 19:47
von Sirius3
Du willst also einen Server schreiben, bei dem man sich einloggen kann. Dann erzeugst Du ja selbst diese iD, bzw. das Framework, das Du dafür benutzt. Welches Framework benutzt Du denn?

Re: Session ID auslesen

Verfasst: Sonntag 16. Oktober 2022, 20:18
von Peter-
den Server gibt es schon. Soweit ich weiß ein Apache.
Ich hab nur eine Nutzerverwaltung geschrieben wo man sich registrieren und dann mit seinem Konto anmelden kann.
Das Ganze läuft in Python.
Genau, die Erzeugung der ID muss ich selbst veranlassen, mit der Session. Zumindest ist das in PHP so.
Müsste doch in Python auch so gehen... bis jetzt habe ich für alle PHP Funktionen gute Pendants in Python gefunden.
In PHP kann die Session noch mehr: man kann in sie Variablen einschreiben und sie stehen dann die ganze Session über zur Verfügung, die Funktion brauche ich aber nicht unbedingt, kann so eine Persistenz auch immer über die Datenbank abwickeln.
Framework benutze ich keines. Alles "zu Fuß".

Re: Session ID auslesen

Verfasst: Sonntag 16. Oktober 2022, 20:33
von Sirius3
Python funktioniert anders als PHP. In Python benutzt man eine Framework wie Flask oder Django, und das ist ein Server. Zu Fuß was zu machen ist immer die drittbeste Möglichkeit.
Ich hoffe Du hast Dich inzwischen von CGI verabschiedet.

Re: Session ID auslesen

Verfasst: Sonntag 16. Oktober 2022, 20:34
von sparrow
Peter-: Dann hast du dich verlaufen. "requests" führt - wie der Name schon sagt - einen Request aus. Also eine Anfrage an eine URL. So wie dein Browser.

Geh den pythonischen Weg und verabschiede dich von diesem Gefrickel. Der richtige Weg Webanwendungen in Python ist ein entsprechendes Framework zu verwenden. Etabliert sind Django (da hast du alles dabei, was du brauchst) und Flask (da musst du dir Teile zusammensuchen). Ich tendiere in Empfehlungen immer zu Django. Die Einarbeitung dauert einen Moment, es lohnt sich aber.

Re: Session ID auslesen

Verfasst: Sonntag 16. Oktober 2022, 20:43
von Peter-
Framework werde ich keines machen. Dann eher zurück zu php. Dort arbeiten Teams auch alle übrigens mit Frameworks, ist auch nichts anderes.

Re: Session ID auslesen

Verfasst: Sonntag 16. Oktober 2022, 20:45
von sparrow
Ich weiß nicht wer "Teams" ist, aber der Ansatz vn PHP ist dort komplett anders.
Dann sage ich mal: Viel Spaß mit PHP. Denn auch nur ansatzweise ernsthafte Webentwicklung ist mit dem von dir gewählten Weg nicht möglich.

Re: Session ID auslesen

Verfasst: Sonntag 16. Oktober 2022, 20:48
von Peter-
Teams: z. B. in einem Scrum-Umfeld

Re: Session ID auslesen

Verfasst: Sonntag 16. Oktober 2022, 20:53
von Peter-
>Dann sage ich mal: Viel Spaß mit PHP. Denn auch nur ansatzweise ernsthafte Webentwicklung ist mit dem von dir gewählten Weg nicht möglich.

Da muss ich wiedersprechen. Ich habe Programmiersprachen jahrzehntelang genutzt und immer genau das rausbekommen was ich wollte.
Wer Programmierer ist braucht Frameworks sicherlich. Bei mir hat sich herausgestellt, dass der Weg über Frameworks der falsche wäre.
Ich muss sehr viele Software-Ingenieure führen, die wiederum Entwickler führen, mit allen möglichen Sprachen. Ich muss aber auch mit dem Steuerberater sprechen können. Der sagt mir auch nicht, dass ich nur mit ihm reden darf wenn ich perfekt Datev Buchhaltung beherrsche. Der Anwalt erwartet auch nicht, dass ich alle Rechtsbücher in meinem Büro habe, nur um mit ihm zu reden.
Schade dass man sich nichts ausserhalt der kleinen eigenen Welt vorstellen kann und auch mal andere Wege akzeptieren kann.

Re: Session ID auslesen

Verfasst: Sonntag 16. Oktober 2022, 20:57
von sparrow
Du hast dich wirklich sehr verlaufen.
Klar musst du nicht mit dem Steuerberater sprechen, wenn du Datev toll beherrscht. Aber du solltest ihn fragen, wenn du steuerrechtlich Hilfe brauchst.
Aber bleiben wir bei dem Beispiel: Also entweder hast du keine Ahnung von Datev oder du fragst gerade steuerrechtliche Sachen. So stellt sich das hier gerade dar.
Das hat auch nichts mit der kleinen eigenen Welt zu tun. Es gibt eine Art, wie man Webanwendungen in Python schreibt. Das kann dir egal sein. Das ist völlig in Ordnung. Aber dann bist du sehr alleine, weil das, was du tust nicht zielführend ist. Vielleicht ist es das in PHP. Dann solltest du dabei bleiben.

PS weil ich nicht widerstehen kann: Es gibt einen Unterschied zwischen "wieder" und "wider".

Re: Session ID auslesen

Verfasst: Sonntag 16. Oktober 2022, 21:03
von Peter-
>Also entweder hast du keine Ahnung von Datev oder du fragst gerade steuerrechtliche Sachen.

Entweder Ahnung, oder keine Ahnung. 0 oder 1.
Was denkst Du wie ein Geschäftsführer arbeitet? Ist der dann eine 1 oder eine 0? Ich sag Dir die Lösung: Er ist nichts zwischen 0 und 1. Sondern er entwickelt auf jedem Gebiet seine eigene Kompetenz die es ihm ermöglicht, mit den Teams zu sprechen und Entscheidungen zu treffen.

>Vielleicht ist es das in PHP.

kann auch Java ohne Frameworks. Und es war sehr wichtig das zu können. Andere Führungskräfte treffen die Entscheidungen auf höhrerer Ebene, ohne die Teams zu fragen, und wissen gar nichts von der Praxis.

Das wird mein letzter Kommentar in diesem Thread zum Thema "Generalistisches Wissen von Führungskräften" sein. Kann sich jeder das rausziehen was er möchte und in der Lage ist.

Re: Session ID auslesen

Verfasst: Sonntag 16. Oktober 2022, 21:05
von Sirius3
Das Framework ist in diesem Fall der Anwalt. Statt also alle Rechtsbücher zu lesen, hier also alle Details wie man Session-Managemant sicher gestaltet, übergibt man den Fall dem Framework/Anwalt.

Re: Session ID auslesen

Verfasst: Sonntag 16. Oktober 2022, 21:08
von sparrow
@Peter-: Ein guter Geschäftsführer weiß natürlich die Kompetenz der Fachleute zu schätzen und traut deren Empfehlungen, wenn sie ihm sagen, dass die von ihm gebildete Meinung - vorsichtig ausgedrückt - einen Holzweg darstellt.

Daher hier meine Meinung: Deine Meinung ist ein Holzweg.

Wenn du Webentwicklung mit Python machen möchtest, dann ist das kein Problem. Es ist eine etablierte Sprache.
Webentwicklung funktioniert in Python aber anders als in PHP. Die beiden verbreiteten Frameworks wurden dir bereits genannt. Und mit so etwas macht man halt Webentwicklung in Python.
Das requests für das, was du beschreibst das völlig falsche Modul ist, habe ich dir auch schon gesagt. Es sei denn du möchtest eine URL _aufrufen_.

Re: Session ID auslesen

Verfasst: Sonntag 16. Oktober 2022, 21:33
von __blackjack__
Wobei man PHP gar nicht ohne Framework für Webentwicklung verwenden kann, denn PHP selber ist ja bereits ein Framework für Webanwendungen und nicht wie Python eine allgemeine Programmiersprache, die man für alles mögliche verwenden kann.