Flask - metody HTTP

Protokół HTTP jest podstawą komunikacji danych w sieci WWW. W tym protokole zdefiniowano różne metody pobierania danych z określonego adresu URL.

W poniższej tabeli podsumowano różne metody protokołu HTTP -

Sr.No. Metody i opis
1

GET

Wysyła dane w niezaszyfrowanej formie na serwer. Najpopularniejsza metoda.

2

HEAD

To samo co GET, ale bez treści odpowiedzi

3

POST

Służy do wysyłania danych formularza HTML na serwer. Dane otrzymane metodą POST nie są buforowane przez serwer.

4

PUT

Zastępuje wszystkie bieżące reprezentacje zasobu docelowego przesłaną treścią.

5

DELETE

Usuwa wszystkie bieżące reprezentacje zasobu docelowego podane przez adres URL

Domyślnie trasa Flask odpowiada na plik GETupraszanie. Jednak tę preferencję można zmienić, podając argument metodyroute() dekorator.

Aby zademonstrować użycie POST w routingu adresów URL, najpierw utwórzmy formularz HTML i użyj POST metoda wysyłania danych formularza na adres URL.

Zapisz następujący skrypt jako login.html

<html>
   <body>
      <form action = "http://localhost:5000/login" method = "post">
         <p>Enter Name:</p>
         <p><input type = "text" name = "nm" /></p>
         <p><input type = "submit" value = "submit" /></p>
      </form>
   </body>
</html>

Teraz wprowadź następujący skrypt w powłoce Pythona.

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['nm']
      return redirect(url_for('success',name = user))
   else:
      user = request.args.get('nm')
      return redirect(url_for('success',name = user))

if __name__ == '__main__':
   app.run(debug = True)

Po uruchomieniu serwera deweloperskiego otwórz login.html w przeglądarce wprowadź nazwę w polu tekstowym i kliknij Submit.

Dane formularza są wysyłane do adresu URL w klauzuli działania znacznika formularza.

http://localhost/login jest zmapowany do login()funkcjonować. Ponieważ serwer otrzymał dane przezPOST metoda, wartość parametru 'nm' otrzymana z danych formularza otrzymujemy wzorem -

user = request.form['nm']

To jest przekazywane ‘/success’URL jako część zmienna. Przeglądarka wyświetla plikwelcome wiadomość w oknie.

Zmień parametr metody na ‘GET’ w login.htmli otwórz go ponownie w przeglądarce. Dane odebrane na serwerze są przezGETmetoda. Wartość parametru 'nm' jest teraz uzyskiwana przez -

User = request.args.get(‘nm’)

Tutaj, argsjest obiektem słownika zawierającym listę par parametrów formularza i odpowiadającą im wartość. Wartość odpowiadająca parametrowi „nm” jest przekazywana do adresu URL „/ success”, jak poprzednio.