Flask - métodos HTTP

O protocolo Http é a base da comunicação de dados na rede mundial de computadores. Diferentes métodos de recuperação de dados do URL especificado são definidos neste protocolo.

A tabela a seguir resume os diferentes métodos http -

Sr. Não. Métodos e Descrição
1

GET

Envia dados de forma não criptografada para o servidor. Método mais comum.

2

HEAD

Igual a GET, mas sem corpo de resposta

3

POST

Usado para enviar dados de formulário HTML para o servidor. Os dados recebidos pelo método POST não são armazenados em cache pelo servidor.

4

PUT

Substitui todas as representações atuais do recurso de destino com o conteúdo carregado.

5

DELETE

Remove todas as representações atuais do recurso de destino fornecidas por um URL

Por padrão, a rota Flask responde ao GETsolicitações de. No entanto, essa preferência pode ser alterada fornecendo argumentos de métodos pararoute() decorador.

A fim de demonstrar o uso de POST no roteamento de URL, primeiro vamos criar um formulário HTML e usar o POST método para enviar dados de formulário para um URL.

Salve o seguinte script como 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>

Agora insira o seguinte script no shell Python.

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)

Depois que o servidor de desenvolvimento começar a funcionar, abra login.html no navegador, digite o nome no campo de texto e clique Submit.

Os dados do formulário são POSTADOS na cláusula URL in action da tag do formulário.

http://localhost/login é mapeado para o login()função. Como o servidor recebeu dados porPOST método, o valor do parâmetro 'nm' obtido a partir dos dados do formulário é obtido por -

user = request.form['nm']

É passado para ‘/success’URL como parte variável. O navegador exibe umwelcome mensagem na janela.

Altere o parâmetro do método para ‘GET’ dentro login.htmle abra-o novamente no navegador. Os dados recebidos no servidor são peloGETmétodo. O valor do parâmetro 'nm' é agora obtido por -

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

Aqui, argsé um objeto de dicionário que contém uma lista de pares de parâmetros de formulário e seu valor correspondente. O valor correspondente ao parâmetro 'nm' é passado para o URL '/ sucesso' como antes.