Python Language Méthodes HTTP


Exemple

Les deux méthodes HTTP les plus courantes sont GET et POST . Flask peut exécuter un code différent à partir de la même URL en fonction de la méthode HTTP utilisée. Par exemple, dans un service Web avec des comptes, il est plus pratique d'acheminer la page de connexion et le processus de connexion via la même URL. Une requête GET, identique à celle qui est effectuée lorsque vous ouvrez une URL dans votre navigateur, doit afficher le formulaire de connexion, tandis qu’une requête POST (contenant des données de connexion) doit être traitée séparément. Un itinéraire est également créé pour gérer les méthodes DELETE et PUT HTTP.

@app.route("/login", methods=["GET"])
def login_form():
    return "This is the login form"
@app.route("/login", methods=["POST"])
def login_auth():
    return "Processing your data"
@app.route("/login", methods=["DELETE", "PUT"])
def deny():
    return "This method is not allowed"

Pour simplifier un peu le code, nous pouvons importer le paquet de request de flask.

from flask import request

@app.route("/login", methods=["GET", "POST", "DELETE", "PUT"])
def login():
    if request.method == "DELETE" or request.method == "PUT":
        return "This method is not allowed"
    elif request.method == "GET":
        return "This is the login forum"
    elif request.method == "POST":
        return "Processing your data"

Pour récupérer des données de la demande POST, nous devons utiliser le package de request :

from flask import request
@app.route("/login", methods=["GET", "POST", "DELETE", "PUT"])
def login():
    if request.method == "DELETE" or request.method == "PUT":
        return "This method is not allowed"
    elif request.method == "GET":
        return "This is the login forum"
    elif request.method == "POST":
        return "Username was " + request.form["username"] + " and password was " + request.form["password"]