Python redirect zu vorherigen seite

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
Krauzi
User
Beiträge: 77
Registriert: Montag 22. Oktober 2007, 18:06
Kontaktdaten:

Donnerstag 28. Mai 2009, 17:02

Hallo, ich brauche hilfe:
Mit PHP habe die Rück-Weiterleitung mit
<?php
$ref = $_SERVER['HTTP_REFERER'];
header( 'refresh: 0; url='.$ref);
?>

gemacht.

Nur wie mache ich das in python?
lunar

Donnerstag 28. Mai 2009, 18:27

Glaubst du wirklich, dass dir jemand mit so wenig Informationen helfen kann? Im Mindesten solltest du erwähnen, welches Framework du nutzt bzw. in welcher Umgebung deine Python-Webanwendung läuft!
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Donnerstag 28. Mai 2009, 18:37

Krauzi hat geschrieben:Nur wie mache ich das in python?
Genauso. Referrer auslesen und dahin Redirecten.

(Wenn dir die Antwort zu ungenau ist, dann schau dir mal deine Frage an, die ebenso ungenau ist)

Übrigens gibt es User, die keinen Referrer schicken oder auch einen ungültigen (speziell Personal Firewalls wie Outpost machen so etwas und schreiben dann Werbung rein), also da sollte man auch etwas vorsichtig sein und es zumindest im Kopf behalten.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Birne94
User
Beiträge: 90
Registriert: Freitag 28. November 2008, 15:18
Kontaktdaten:

Donnerstag 28. Mai 2009, 19:15

btw solltest du lieber

Code: Alles auswählen

Location: XXX
als Header nutzen imo...
Y0Gi
User
Beiträge: 1454
Registriert: Freitag 22. September 2006, 23:05
Wohnort: ja

Freitag 29. Mai 2009, 10:55

Du sendest einen 301-Redirect. Details dazu liefert dir das RFC über HTTP. Auf den "refresh"-Teil kannst du verzichten, die Umleitung passiert sofort. Den entsprechenden Plaintext-Header musst du dann entsprechend deiner Basis (CGI, WSGI, irgendein Framework etc.) vor dem eigentlichen Content senden.
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

Samstag 30. Mai 2009, 12:17

Besser 302 als 301 wenn es sich um eine Weiterleitung z.B. nach einem POST handelt. Das 301 sollte IIRC nur für dauerhaft geänderte URLs verwendet werden.

Stefan
Y0Gi
User
Beiträge: 1454
Registriert: Freitag 22. September 2006, 23:05
Wohnort: ja

Sonntag 31. Mai 2009, 12:17

Ich muss zugeben, dass ich die beiden bezüglich ihrer Nutzungsempfehlung/-eignung nicht aus dem Kopf zuordnen kann, aber der von mir genannte Wikipedia-Artikel besagt:
302-Weiterleitung ist aufgrund eines Suchmaschinen-Fehlers, dem URL-Hijacking, in Kritik geraten. Webmaster sollten generell von der Verwendung eines solchen Redirects absehen.
In Werkzeug ist 302 der Default für `utils.redirect`, beim internen Gebrauch der Funktion wird jedoch 301 (Routing, Slash-Appending) eingesetzt.

Vielleicht erhellt uns jemand mit ein paar guten Quellen und Hintergründen?
Antworten