am_dot_com

SW 23-03-22

Mar 22nd, 2023 (edited)
157
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.47 KB | None | 0 0
  1. # 3.py
  2.  
  3. # para exemplificar a receção de dados submetidos por um cliente
  4.  
  5. from flask import Flask, request
  6.  
  7. a3 = Flask(__name__)
  8.  
  9. """
  10. A QUERY_STRING (QS) é uma frase que só nasce no ambiente
  11. CGI quando a comunicação é por GET
  12. A QS codifica os dados enviados pelo cliente, desde que
  13. tenham name
  14. A codificação, por defeito, é no estilo x-www-form-urlencoded
  15. que significa juntar pares name=value pelo &
  16. por exemplo:
  17. batatas=4 & nome=#3829 & hoje=quarta
  18. """
  19.  
  20. @a3.route("/", methods=['GET', 'POST'])
  21. def resposta():
  22. pedido_por_get:bool = request.method=='GET'
  23. pedido_por_post: bool = request.method == 'POST'
  24.  
  25. if(pedido_por_get):
  26. qs:str = request.environ['QUERY_STRING'] # GET
  27. # para aceder aos valores enviados
  28. nome:str = request.args['name_nome']
  29. idade:int = int(request.args['name_idade'])
  30. return f"QUERY_STRING = {qs}<br>"+\
  31. f"Recebi nome={nome}<br>"+\
  32. f"Recebi idade={idade}<hr>"
  33.  
  34. if(pedido_por_post):
  35. quantos_bytes_cliente_tem_para_enviar:int = \
  36. request.environ['CONTENT_LENGTH'] # POST
  37.  
  38. # para aceder aos valores enviados
  39. nome:str = request.form['name_nome']
  40. idade:int = int(request.form['name_idade'])
  41.  
  42. return f"CONTENT_LENGTH = {quantos_bytes_cliente_tem_para_enviar}"+ \
  43. f"Recebi nome={nome}<br>" + \
  44. f"Recebi idade={idade}<hr>"
  45. # def resposta
  46.  
  47. a3.run(host="127.0.0.1", port=5005, debug=True)
Advertisement
Add Comment
Please, Sign In to add comment