Heim  >  Artikel  >  Backend-Entwicklung  >  Ein einfacher Test-HTTP-Server von Flask

Ein einfacher Test-HTTP-Server von Flask

WBOY
WBOYOriginal
2024-08-16 18:01:32401Durchsuche

A Simple Test HTTP server from Flask

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.

Nicht installieren – einfach erstellen

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.

Servercode

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:SageMath-InstallationNächster Artikel:SageMath-Installation