Não tenho certeza se alguém levaria tanta dor para testar as chamadas GET e POST. Peguei o módulo Python Flask e escrevi uma função que faz algo semelhante ao que o @Robert compartilhava.
from flask import Flask, request
app = Flask(__name__)
@app.route('/method', methods=['GET', 'POST'])
@app.route('/method/<wish>', methods=['GET', 'POST'])
def method_used(wish=None):
if request.method == 'GET':
if wish:
if wish in dir(request):
ans = None
s = "ans = str(request.%s)" % wish
exec s
return ans
else:
return 'This wish is not available. The following are the available wishes: %s' % [method for method in dir(request) if '_' not in method]
else:
return 'This is just a GET method'
else:
return "You are using POST"
Quando executo isso, segue o seguinte:
C:\Python27\python.exe E:/Arindam/Projects/Flask_Practice/first.py
* Restarting with stat
* Debugger is active!
* Debugger PIN: 581-155-269
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
Agora vamos tentar algumas chamadas. Estou usando o navegador.
http://127.0.0.1:5000/method
Este é apenas um método GET
http://127.0.0.1:5000/method/NotCorrect
Este desejo não está disponível. A seguir, estão os desejos disponíveis: ['aplicativo', 'args', 'autorização', 'blueprint', 'charset', 'close', 'cookies', 'dados', 'data', 'ponto final' e 'ambiente ',' arquivos ',' formulário ',' cabeçalhos ',' host ',' json ',' método ',' mimetype ',' módulo ',' caminho ',' pragma ',' intervalo ',' referenciador ', 'esquema', 'raso', 'fluxo', 'url', 'valores']
http://127.0.0.1:5000/method/environ
{'wsgi.multiprocess': False, 'HTTP_COOKIE': 'csrftoken = YFKYYZl3DtqEJJBwUlap28bLG1T4Cyuq', 'SERVER_SOFTWARE': 'Werkzeug / 0.12.2', 'SCRIPT_NAME': ',' REQUEST, '' '' '/ method / environ', 'SERVER_PROTOCOL': 'HTTP / 1.1', 'QUERY_STRING': '', 'werkzeug.server.shutdown':, 'HTTP_USER_AGENT': 'Mozilla / 5.0 (Windows NT 6.1; WOW64) AppleWebKit / 537.36 (KHTML, como Gecko) Chrome / 54.0.2840.71 Safari / 537.36 ',' HTTP_CONNECTION ':' keep-alive ',' SERVER_NAME ':' 127.0.0.1 ',' REMOTE_PORT ': 49569,' wsgi.url_scheme ':' http ',' SERVER_PORT ':' 5000 ',' werkzeug.request ':,' wsgi.input ':,' HTTP_HOST ':' 127.0.0.1: 5000 ',' wsgi.multithread ': Falso,' HTTP_UPGRADE_INSECURE_REQUESTS ':' 1 ',' HTTP_ACCEPT ':' texto / html, aplicativo / xhtml + xml, aplicativo / xml; q = 0,9, image / webp, /; q = 0.8 ',' wsgi.version ': (1, 0),' wsgi.run_once ': falso,' wsgi.errors ':', modo 'w' em 0x0000000002042150>, 'REMOTE_ADDR': '127.0.0.1 ',' HTTP_ACCEPT_LANGUAGE ':' pt-BR, en; q = 0.8 ',' HTTP_ACCEPT_ENCODING ':' gzip, deflate, sdch, br '}