Я не впевнений, чи не відчує хтось такий біль, щоб перевірити дзвінки GET та POST. Я взяв модуль Python Flask і написав функцію, яка робить щось подібне до того, що поділився @Robert.
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"
Коли я запускаю це, то наступне:
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)
Тепер давайте спробуємо кілька дзвінків. Я використовую браузер.
http://127.0.0.1what000/method
Це просто метод GET
http://127.0.0.1what000/method/NotCorrect
Це бажання недоступне. Нижче наведені доступні побажання: ['application', 'args', 'Authorization', 'blueprint', 'charset', 'close', 'cookies', 'data', 'date', 'endpoint', 'environment ',' файли ',' форма ',' заголовки ',' хост ',' json ',' метод ',' mimetype ',' module ',' path ',' pragma ',' range ',' referencerer ', 'схема', 'неглибоко', 'потік', 'URL', 'значення']
http://127.0.0.1what000/method/environ
{ 'Wsgi.multiprocess': false, 'HTTP_COOKIE': 'csrftoken = YFKYYZl3DtqEJJBwUlap28bLG1T4Cyuq', 'SERVER_SOFTWARE': 'Werkzeug / 0.12.2', 'SCRIPT_NAME': '', 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/ method / environment', '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, як Gecko) Chrome / 54.0.2840.71 Safari / 537.36 ',' HTTP_CONNECTION ':' підтримуйте життя ',' 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 ': Невірно,' HTTP_UPGRADE_INSECURE_REQUESTS ':' 1 ',' HTTP_ACCEPT ':' текст / html, application / xhtml + xml, application / xml; q = 0,9, зображення / webp, /; q = 0.8 ',' wsgi.version ': (1, 0),' wsgi.run_once ': Невірно,' wsgi.errors ':', режим 'w' на 0x0000000002042150>, 'REMOTE_ADDR': '127.0.0.1 ',' HTTP_ACCEPT_LANGUAGE ':' en-US, en; q = 0.8 ',' HTTP_ACCEPT_ENCODING ':' gzip, deflate, sdch, br '}