Django: Wie man eine rohe Antwort zurückgibt

8

Das ist was ich will.

  1. Senden Sie eine POST-Anfrage an eine externe Site (z. B. Anmeldeinformationen).
  2. Empfange die Antwort
  3. Geben Sie die rohe Antwort an den Browser meines Kunden zurück (mit den Cookies für die Anmeldung) Validierung).
  4. Wenn der Client versucht, auf die neue Registerkarte zuzugreifen, wird er bereits angemeldet.

Ich habe die Schritte 1 & amp; 2 (eingereicht POST & erhielt die Antwort von der Website).

%Vor%

Aber wenn ich versuche, es in der Ansicht zurückzugeben

%Vor%

Ich bekomme den folgenden Fehler

%Vor%

Hinweis: Ich hatte vorher einen csrf Fehler, aber ich deaktivierte csrf mit Decorator @csrf_exempt & amp; Der Fehler ist weg.

    
Jibin 31.10.2011, 10:35
quelle

2 Antworten

7

Sie sollten nicht wieder die Antwort von urlopen Methode direkt. Stattdessen sollten Ihrer Meinung nach eine Instanz von Djangos Httpresponse , wo Körper und die Header sollten aus dem ursprünglichen Antwort auf diejenigen gesetzt werden :

%Vor%     
Sergey Golovchenko 31.10.2011, 15:34
quelle
0

Erstens ist es nicht sinnvoll, eine URL-Anfrage als Antwort in einer Ansicht einzureichen. Aber selbst wenn du könntest, würde das nicht tun, was du willst. Es gibt keine Möglichkeit, einen Benutzer an einer anderen Site anzumelden, aus Gründen, die offensichtlich sein sollten: das wäre eine massive Sicherheitslücke.

    
Daniel Roseman 31.10.2011 10:56
quelle

Tags und Links