Einfacher Python-Server zur Verarbeitung von GET- und POST-Anfragen mit JSON

8

Ich versuche einen einfachen Python-Server zu erstellen, um mein Frontend zu testen. Es sollte in der Lage sein, GET- und POST-Anfragen zu bearbeiten. Die Daten sollten immer im JSON-Format vorliegen, bis sie in die HTTP-Anfrage / Antwort übersetzt werden. Ein Skript mit dem entsprechenden Namen sollte aufgerufen werden, um jede Anfrage zu bearbeiten.

server.py

%Vor%

Beispiel für testscript.py für die Bearbeitung von Anfragen, die in diesem Fall nur ein JSON-Objekt zurückgibt.

%Vor%

Der Server sollte beispielsweise {'4': 5, '6': 7} für eine Antwort im Format Ссылка zurückgeben.

Mein Problem ist, dass ich nicht herausfinden kann, wie man Variablen dazwischen gibt, und ich brauche Hilfe, damit es funktioniert.

    
Peter Gerhat 12.11.2015, 01:15
quelle

2 Antworten

7

Hier ist ein Beispiel für den Server-Client in Python. Ich benutze Flasche Bibliothek, um Anfragen an Server zu bearbeiten und Server zu erstellen.

Servercode

%Vor%

Er startet den Server auf localhost:8080 . Sie können den Dateinamen übergeben, den Sie ausführen möchten. Stellen Sie sicher, dass sich die Datei im selben Pfad befindet, damit der obige Code funktioniert, oder ändern Sie den Pfad entsprechend, sodass er von einem anderen Verzeichnis ausgeführt wird. Pfad entspricht dem Dateinamen und ruft process function auf, wenn ein Pfad angegeben wird. Wenn die Datei nicht gefunden werden kann, wird die Ausnahme Interner Serverfehler ausgelöst. Sie können Skripte auch aus Unterverzeichnissen aufrufen.

Clientcode

%Vor%

Es ruft eine POST-Anfrage an localhost:8080/return

auf

return.py

%Vor%

Stellen Sie sicher, dass Sie Ihre Ausgabeantwort drucken, da wir subprocess.check_output() verwenden, da nur Druckanweisungen abgefangen werden.

Verwenden Sie Popen in subprocess , um eine fortlaufende Verbindung anstelle von check_output zu öffnen, um Argumente für die Funktion auf dem Server zu übergeben

Überprüfen Sie diese Dokumentation zum Extrahieren von POST- oder GET-Werten

    
Harwee 12.11.2015, 12:06
quelle
2

Ich benutze das:

Ссылка

%Vor%

Mit diesem speziellen Wrapper können Sie problemlos Port 0 (Random High Port) abhören, den einige Frameworks verschleiern. Es verarbeitet automatisch GET / POST-Anfragen für alle Routen und fügt diese in URI-Argumenten mit den JSON-Objektargumenten auf oberster Ebene zusammen. Was mir in den meisten Fällen gut genug ist.

Es ist viel leichter als die meisten Frameworks. Testfälle im Wesentlichen zeigen besser, wie es funktioniert.

    
Erik Aronesty 27.11.2017 22:28
quelle