浅谈flask截获所有访问及before/after_request修饰器
2018-01-18 09:52
676 查看
本文主要研究的是flask如何截获所有访问,以及before_request、after_request修饰器的相关内容,具体如下。
在学习着用flask开发安卓后天接口时,遇到一个需求,就是想截获所有请求,即在所有请求进入app.route装饰的函数前先被处理一次。
经过在网上查找资料后,知道了@before_request、@after_request这两个方法,示例:
@app.before_request def before_request(): ip = request.remote_addr url = request.url print ip, print url
before_request()函数被app.before_request修饰以后,每一次请求到来后,都会先进入函数before_request()中,如上代码,获取请求的ip以及url,并打印出来,执行完毕后请求才会正常进入到app.route修饰的函数中响应,如果有多个函数被app.before_request修饰了,那么这些函数会被依次执行。
app.before_request修饰器在开发中用处非常大,比如判断某个ip是否有恶意访问行为,从而进行拦截等操作。
此外同理,app.after_request修饰器是在用户请求得到函数响应后被执行,不过需要注意的是这个执行是在函数返回数据前被调用,即请求已经被app.route修饰的函数响应过了,已经形成了response,但还未返回给用户的时候,调用的。
总结
以上就是本文关于浅谈flask截获所有访问及before/after_request修饰器的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!
您可能感兴趣的文章:
相关文章推荐
- python——flask如何截获所有访问,以及before_request、after_request修饰器
- 浅谈css的伪元素::after和::before
- 浅谈css的伪元素::after和::before
- 浅谈css的伪元素::after和::before
- 浅谈css的伪元素::after和::before
- Flask 中 @app.before_request、@app.after_request 和 @app.teardown_request
- 浅谈css的伪元素::after和::before
- flask 中的before_request 与 after_request
- 运用before 、after、border-color、border 编织ribbon
- 误修改/etc目录下所有文件权限导致无法远程访问
- 纠结了一晚上的问题---点击导航栏的一个文本链接后所有导航栏文本链接颜色都变成访问过的颜色了
- 理解伪元素 :Before 和 :After
- 类可以访问它的内部类(和内部类的内部类)的所有成员
- 理解伪元素 :before 和 :after
- CSS :before和:after (转)
- 浅谈-----包及访问权限(一)
- CSS ::before 和 ::after 伪元素用法
- 【JQuery】使用before()和after()在元素前后插入内容
- :before :after
- Date的after和before方法解释