此三方包经过测试对版本各个要求严格,否则无效果
严格按照以下版本及方式测试:
安装对应版本的flask
pip install Flask==1.1.1
安装 Flask-Limiter控制频率
pip install Flask-Limiter==1.4
报错1:
ImportError: cannot import name 'escape' from 'jinja2' (C:\Users\Administrator\AppData\Local\Programs\Python\Python37-32\lib\site-packages\jinja2\__init__.py)
安装这个版本3.0.3
pip install jinja2==3.0.3
报错2:
ImportError: cannot import name 'json' from 'itsdangerous' (C:\Users\Administrator\AppData\Local\Programs\Python\Python37-32\lib\site-packages\itsdangerous\__init__.py)
pip install itsdangerous==2.0.1
报错3:
ImportError: cannot import name 'BaseResponse' from 'werkzeug.wrappers' (C:\Users\Administrator\AppData\Local\Programs\Python\Python37-32\lib\site-packages\werkzeug\wrappers\__init__.py)
pip install --upgrade werkzeug==1.0.1
from flask import Flask
from flask_limiter import Limiter
app = Flask(__name__)
limiter = Limiter(app)
@app.route('/test', methods=['GET'])
@limiter.limit("0/second")
#@limiter.limit("1000/day")
#@limiter.limit("10/hour")
#@limiter.limit("1/minute")
def getSmid(token):
data = "ok"
try:
return data
except Exception as e:
print("Error:", e)
return data
if __name__ == '__main__':
app.run(host="0.0.0.0", port=8888)
设置了0/s, 也就是不让请求,就会返回如下: