GET ve POST çağrılarını test etmek için bu kadar acı çekip çekmeyeceğinden emin değilim. Python Flask modülünü aldım ve @Robert'in paylaştıklarına benzer bir şey yapan bir işlev yazdım.
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"
Bunu çalıştırdığımda, bu aşağıdaki gibidir:
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)
Şimdi bazı çağrıları deneyelim. Tarayıcıyı kullanıyorum.
http://127.0.0.1:5000/method
Bu sadece bir GET yöntemidir
http://127.0.0.1:5000/method/NotCorrect
Bu istek mevcut değil. Kullanılabilir istekler şunlardır: ['uygulama', 'argümanlar', 'yetkilendirme', 'plan', 'karakter kümesi', 'kapat', 'çerezler', 'veri', 'tarih', 'bitiş noktası', 'environ ',' dosyalar ',' form ',' üstbilgiler ',' ana bilgisayar ',' json ',' yöntem ',' mime türü ',' modül ',' yol ',' pragma ',' aralık ',' yönlendiren ', 'şema', 'sığ', 'akış', 'url', 'değerler']
http://127.0.0.1:5000/method/environ
{'wsgi.multiprocess': Yanlış, 'HTTP_COOKIE': 'csrftoken = YFKYYZl3DtqEJJBwUlap28bLG1T4Cyuq', 'SERVER_SOFTWARE': 'Werkzeug / 0.12.2', 'SCRIPT_NAME': 'G' ',' PAT 'RE' '/ 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 (Gecko gibi KHTML) Chrome / 54.0.2840.71 Safari / 537.36 ',' HTTP_CONNECTION ':' canlı tut ',' 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 ': Yanlış,' HTTP_UPGRADE_INSECURE_REQUESTS ':' 1 ',' HTTP_ACCEPT ':' metin / html, uygulama / xhtml + xml, uygulama / xml; q = 0.9, resim / webp, /; q = 0.8 ',' wsgi.version ': (1, 0),' wsgi.run_once ': Yanlış,' wsgi.errors ':', 0x0000000002042150'de 'w' modu> 'REMOTE_ADDR': '127.0.0.1 ',' HTTP_ACCEPT_LANGUAGE ':' en-US, en; q = 0,8 ',' HTTP_ACCEPT_ENCODING ':' gzip, deflate, sdch, br '}