Gestern Abend musste ich einen App-Code aktualisieren, um von einem synchronen http-Aufruf zu einem asynchronen zu wechseln. Dies ist kein besonders schwieriges Problem, es kann jedoch schwierig sein, es zu beheben.
Was ich daher brauchte, war eine Möglichkeit, diese http-Aufrufe zu testen, und auf dem Computer, den ich verwendete, waren noch keine http-Server aktiv, die als Ziel verwendet werden könnten.
Kein Problem: Es hat Python – und das ist alles, was Sie brauchen.
Dieses Muster hat sich bei mir gebildet. Für einfache Aufgaben ist es oft einfacher, einfach ein kleines Hilfsskript zu schreiben, anstatt eine komplette Software zu installieren, um eine Aufgabe zu erledigen.
Wenn Sie einen echten Server benötigen, entscheiden Sie sich auf jeden Fall dafür (aber selbst dann würde ich, wenn möglich, Docker empfehlen). Wenn Sie jedoch nur einen schnellen Endpunkt zum Testen oder Lösen eines einzelnen Anwendungsfalls benötigen, ist Python wahrscheinlich Ihr Freund.
Ich sage speziell Python, weil es mit einer umfangreichen Standardbibliothek und einem Ökosystem ziemlich allgegenwärtig ist.
Die Idee mit diesem einfachen Server bestand darin, mir beim Testen der asynchronen Clientaufrufe zu helfen, sodass ich wollte, dass er 5 Sekunden wartet und dann antwortet. Ich wollte nur, dass es auf jeden Standardanruf nach 5 Sekunden mit einer 200 antwortet.
from flask import Flask, request import time app = Flask(__name__) @app.route('/', defaults={'path': ''}, methods=['GET', 'POST', 'PUT', 'DELETE', 'PATCH']) @app.route('/<path:path>', methods=['GET', 'POST', 'PUT', 'DELETE', 'PATCH']) def catch_all(path): print(f"Path: {path}") print(f"Headers: {dict(request.headers)}") print(f"Params: {request.args}") print(f"Data: {request.data}") # Wait for 5 seconds time.sleep(5) return "yessir" if __name__ == '__main__': app.run(host='0.0.0.0', port=5000)
Das obige ist der detaillierte Inhalt vonEin einfacher Test-HTTP-Server von Flask. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!