English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Le protocole HTTP est la base de la communication de données du World Wide Web. Il définit les méthodes pour récupérer différents types de données à partir d'URL spécifiques.
Le tableau suivant résume les différentes méthodes HTTP -
Numéro | Méthode | Description |
1 | GET | Envoyer des données au serveur sous forme non chiffrée, c'est la méthode la plus couramment utilisée. |
2 | HEAD | Comme GET, mais sans corps de réponse |
3 | POST | Utilisé pour envoyer des données de formulaire HTML au serveur. Les données reçues par la méthode POST ne sont pas mémorisées par le serveur. |
4 | PUT | Remplacer toutes les représentations actuelles des ressources cibles par le contenu téléversé. |
5 | DELETE | Supprimer toutes les représentations des ressources cibles indiquées par l'URL |
Par défaut, les routes Flask répondent aux requêtes GET. Cependant, vous pouvez modifier ce prérequis en fournissant des paramètres de méthode au décorateur route().
Pour démontrer l'utilisation de la méthode POST dans les routes URL, créez d'abord un formulaire HTML et envoyez les données du formulaire à l'URL en utilisant la méthode POST.
Enregistrer le script suivant dans le fichier: login.html
# Fichier : example.py # Copyright : 2020 Par w3codebox # Auteur par : fr.oldtoolbag.com # Date : 2020-08-08 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title>Flask HTTP请求方法处理</title> </head> <body> <form action="http://localhost:5000/login" method="post"> <p>Entrer le nom :</p> <p><input type="text" name="name" value=""/></p> <p><input type="submit" value="提交" /></p> </form> </body> </html>
Maintenant, entrez le script suivant dans le shell Python.
# Fichier : example.py # Copyright : 2020 Par w3codebox # Auteur par : fr.oldtoolbag.com # Date : 2020-08-08 from flask import Flask, redirect, url_for, request app = Flask(__name__) @app.route('/success/<name>') def success(name): return 'welcome %s' % name @app.route('/login', methods = ['POST', 'GET']) def login(): if request.method == 'POST': user = request.form['name'] return redirect(url_for('success', name = user)) else: user = request.args.get('name') return redirect(url_for('success', name = user)) if __name__ == '__main__': app.run(debug = True)
Après que le serveur de développement ait démarré, ouvrez login.html dans le navigateur, entrez un nom (comme : maxsu ) et cliquer Soumettre.
Les données du formulaire sont soumises à l'URL spécifiée par l'attribut action du tag <form>.
http://localhost:5000/login est mappé à la fonction login(). Comme le serveur a reçu des données via la méthode POST, la valeur du paramètre 'name' est obtenue à partir des données du formulaire de la manière suivante:-
# Fichier : example.py # Copyright : 2020 Par w3codebox # Auteur par : fr.oldtoolbag.com # Date : 2020-08-08 user = request.form['name']
Il est passé en tant que partie variable à l'URL:/réussite。 Le navigateur affiche un message de bienvenue dans la fenêtre.
Modifiez le paramètre de méthode de login.html en GET et ouvrez à nouveau dans le navigateur. Les données reçues sur le serveur sont obtenues via la méthode GET. La valeur du paramètre 'name' est maintenant obtenue de la manière suivante: -
# Fichier : example.py # Copyright : 2020 Par w3codebox # Auteur par : fr.oldtoolbag.com # Date : 2020-08-08 User = request.args.get('name')
Ici, args est un objet dictionnaire, il contient une série de paramètres de formulaire et leurs valeurs correspondantes. Comme auparavant, la valeur correspondante du paramètre 'name' est transmise à l'URL:/réussite。