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, aber es kann schwierig sein, es zu lösen.
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 für mich 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('/', 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)
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3