Query-String

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
Peter-
User
Beiträge: 40
Registriert: Dienstag 16. März 2021, 15:01

Hallo Zusammen,

um die Existenz der E-Mail Adresse des neuen Nutzers eines Web-Angebotes zu identifizieren, bekommt er eine E-Mail mit einem Bestätigungslink, etwa so:
https://www.meineDomain.com/verificatio ... 80djkds98d
Der Wert des Query-Strings, hier also 'uki87dlu80djkds98d', ist der E-Mail Adresse des Nutzers in der SQL-Datenbank bis zum Abschluss der Verifikation zugeordnet.

Gibt es dieses Konstrukt in Python?
Wie kann ich die Variable v aus der URL-Adresse der verification.py auslesen?
(im Internet finde ich eher Anleitungen wie ich die Daten zu einem orchestrierten Webservice sende, der die dann ausliest, aber nicht umgekehrt...)

Danke im Voraus und schöne Grüße,
Peter
Sirius3
User
Beiträge: 17741
Registriert: Sonntag 21. Oktober 2012, 17:20

Das v ist ein ganz normaler Query-Parameter. Welches HTTP-Rahmenwerk benutzt du denn?
Peter-
User
Beiträge: 40
Registriert: Dienstag 16. März 2021, 15:01

>Das v ist ein ganz normaler Query-Parameter.

genau...

>Welches HTTP-Rahmenwerk benutzt du denn?

bin auf dem Webspace von IONOS.
Normale Variablen hole ich so ab:

import cgi
form = cgi.FieldStorage()
variable1 = form.getlist('var1')
Sirius3
User
Beiträge: 17741
Registriert: Sonntag 21. Oktober 2012, 17:20

CGI benutzt man seit über 10 Jahren nicht mehr.
Für normale Variablen benutzt man getfirst und v ist eine ganz normale Variable.
Benutzeravatar
kbr
User
Beiträge: 1487
Registriert: Mittwoch 15. Oktober 2008, 09:27

@Peter-: Was du wissen solltest: bei CGI wird für jeden Request ein eigener Prozess gestartet. In dem wird dann Python geladen und hochgefahren, alle Imports vorgenommen, ggf. inklusive Framework, die Verbindung zur Datenbank wird angelegt und aufgebaut, dann wird *ein* (in Zahlen: 1) Request behandelt und alles wird wieder runtergefahren und der Prozess wird beendet. Beim nächsten Request wiederholt sich dieser Vorgang.

Wenn Du nur drei Requests pro Tag hast, dann ist das ziemlich egal.

Für stärker frequentierte Sites entspricht das aber etwa dem Szenario, dass Du einen Fernseher leasen möchtest, einen modernen großen OLED Bildschirm haben könntest, stattdessen aber erst einmal mit einem Röhrenfernseher in schwarz-weiß startest, der fünf Minuten zum Warmwerden braucht.
Peter-
User
Beiträge: 40
Registriert: Dienstag 16. März 2021, 15:01

>Was du wissen solltest: bei CGI wird für jeden Request ein eigener Prozess gestartet.

>CGI benutzt man seit über 10 Jahren nicht mehr.

OK, zur Kenntnis genommen.

Bitte nun zurück zu meiner Frage:

>Für normale Variablen benutzt man getfirst und v ist eine ganz normale Variable.

mit getfirst kann ich den Query-String abrufen?
Wie?
Benutzeravatar
kbr
User
Beiträge: 1487
Registriert: Mittwoch 15. Oktober 2008, 09:27

Ok, Du willst also unbedingt CGI verwenden. Das cgi-Modul der Standard-Library benutzt Du ja bereits. Dort findet sich auch die Dokumentation zu 'getfirst' etc. mit Beispielen: https://docs.python.org/3/library/cgi.html.
Peter-
User
Beiträge: 40
Registriert: Dienstag 16. März 2021, 15:01

>Dort findet sich auch die Dokumentation zu 'getfirst' etc. mit Beispiele

super, hat geklappt. Vielen Dank!

>Ok, Du willst also unbedingt CGI verwenden.

ja, hab schon gemerkt dass im Forum mein "nur python - auf server - ohne framework" - Weg nicht auf Begeisterung stößt ;-)
Aber ist m. E. der schnellste Weg zum der Ziel zu dem ich will.
Python Grundlagen (Python ist echt nicht schwer wenn man Java kann, liest sich schön sauber, nur paar Feinheiten halt.), gleich in Form eines kleinen Produktes das live gehen wird, das übrigens schon recht schnell vorankommt.
Danach dann TensorFlow - Framework geplant.
Mein Ziel ist nicht industrieller Programmierer zu werden. Sondern mein Ziel ist es, das Level an Technologie das ich als Kaufmann schon beherrsche, immer wieder an Neuerungen anzupassen, lebenslang, nebenher.
einfachTobi
User
Beiträge: 491
Registriert: Mittwoch 13. November 2019, 08:38

Peter- hat geschrieben: Dienstag 6. April 2021, 19:03 Aber ist m. E. der schnellste Weg zum der Ziel zu dem ich will. (...) Sondern mein Ziel ist es, das Level an Technologie das ich als Kaufmann schon beherrsche, immer wieder an Neuerungen anzupassen, lebenslang, nebenher.
Die bekannten Webframeworks sind nun mal der schnellste Weg zu einem sauberen Ergebnis. Und da du ja offenbar einfach aufgrund mangelnder Erfahrung keine große Ahnung davon hast, wundert es mich, dass du genau diesem Ratschlag keinen Glauben schenken willst. Wenn du doch daran interessiert bist, dein Wissen immer wieder an Neuerungen anzupassen, entspricht es eigentlich genau deinem Credo eben nicht CGI dafür zu verwenden. Letztlich kannst du natürlich machen was du willst. Jemand der heutzutage auf einem Esel durch die Stadt reitet, kommt zwar auch an sein Ziel, muss sich aber nicht wundern, wenn er von Passanten, die er fragt wie man einen Esel reitet, auf ein Fahrrad/Pferd/die Bahn/... hingewiesen wird.
Peter-
User
Beiträge: 40
Registriert: Dienstag 16. März 2021, 15:01

siehe oben, will ja letztendlich auf ein ganz anderes framework hinaus.
Es schadet nicht, zu wissen wie Eselreiten ist.
Der Esel bringt mich nur zum Flughafen.

Mehr Erfahrung zu haben, muss nicht zwingend dazu führen die Anforderung des Lernenden besser einschätzen zu können als er selbst, im Gegenteil, eine Art Helo Effekt könnte dazu führen zu denken, ich weiss es ja besser, denn ich kann schon was er lernen will.
Ich denke, es geht jedes Mal viel Zeitanteil drauf um das zu diskutieren.
Wenn ich auf dem Esel durch die Stadt reite und nach dem Flughafen frage, wäre es auch mal ein Konsens ihm einfach den Weg zu sagen.
Antworten