twisted get Körper der POST-Anfrage

8

Ok,

Das sollte einfach sein, da die Leute das immer tun. Ich möchte den Körper einer POST-Anfrage eine verdrehte Agent gesendet bekommen. Dies wird mit einer verdrehten FileBodyProducer erstellt. Auf der Serverseite bekomme ich ein request Objekt für meine render_POST Methode.

Wie erhalte ich den Körper?

Server:

%Vor%

Kunde:

%Vor%

Die einzigen Dokumente, die ich für die Einrichtung der Verbraucherseite finden kann lassen etwas zu wünschen übrig . In erster Linie, wie kann ein Verbraucher die write(data) -Methode verwenden, um Ergebnisse zu erhalten?

Welches Bit fehlt mir, um diese beiden Komponenten zusammen zu stecken?

    
Spencer Rathbun 18.07.2012, 19:15
quelle

3 Antworten

13

Gut, es ist so einfach wie request.content.read() aufzurufen. Soweit ich das beurteilen kann, ist dies in der API nicht dokumentiert.

Hier ist der aktualisierte Code für den Client:

%Vor%

Und hier ist der Server:

%Vor%

Ich kann jetzt die Dateiinhalte schreiben, die ich erhalte, und die Ergebnisse zurücklesen.

    
Spencer Rathbun 18.07.2012, 20:19
quelle
2

Wenn der Inhaltstyp Anwendung / x-www-form-urlencoded oder multipart / form-data ist, Der Körper wird geparst und in das request.args dict.

gestellt

Wenn der Text zu groß ist, wird er in eine temporäre Datei geschrieben, andernfalls in StringIO.

Nachdem der Body gelesen wurde, wird die Methode finish () aufgerufen. Sie können Request und den Körper in dieser Methode zerlegen oder sonst etwas tun.

    
Yavor Atov 31.07.2012 10:04
quelle
0

Wenn Sie einen einfachen POST mit body (keine Datei) erstellen möchten, können Sie dies wie folgt tun

%Vor%

Jetzt oben in realen Code verwenden können Sie d.

%Vor%

Beispielheader sollten aussehen wie

%Vor%

Ich hoffe, das hilft

    
darkman66 23.02.2016 21:49
quelle

Tags und Links