浅谈flask截获所有访问及before/after_request修饰器


Posted in Python onJanuary 18, 2018

本文主要研究的是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 相关文章推荐
举例详解Python中的split()函数的使用方法
Apr 07 Python
Django组件之cookie与session的使用方法
Jan 10 Python
python实现连连看辅助(图像识别)
Mar 25 Python
python将字符串list写入excel和txt的实例
Jul 20 Python
如何分离django中的媒体、静态文件和网页
Nov 12 Python
pycharm激活码快速激活及使用步骤
Mar 12 Python
python实现贪吃蛇游戏源码
Mar 21 Python
Python selenium实现断言3种方法解析
Sep 08 Python
PyQt5的QWebEngineView使用示例
Oct 20 Python
vue.js刷新当前页面的实例讲解
Dec 29 Python
python实现剪贴板的操作
Jul 01 Python
python机器学习创建基于规则聊天机器人过程示例详解
Nov 02 Python
flask中主动抛出异常及统一异常处理代码示例
Jan 18 #Python
浅谈Django学习migrate和makemigrations的差别
Jan 18 #Python
Python机器学习logistic回归代码解析
Jan 17 #Python
酷! 程序员用Python带你玩转冲顶大会
Jan 17 #Python
Python建立Map写Excel表实例解析
Jan 17 #Python
Python冲顶大会 快来答题!
Jan 17 #Python
urllib和BeautifulSoup爬取维基百科的词条简单实例
Jan 17 #Python
You might like
PHP exif扩展方法开启详解
2014/07/28 PHP
CI框架入门示例之数据库取数据完整实现方法
2014/11/05 PHP
PHP开发制作一个简单的活动日程表Calendar
2016/06/20 PHP
php对象工厂类完整示例
2018/08/09 PHP
求得div 下 img的src地址的js代码
2007/02/28 Javascript
JavaScript全局函数使用简单说明
2011/03/11 Javascript
远离JS灾难css灾难之 js私有函数和css选择器作为容器
2011/12/11 Javascript
js 判断控件获得焦点的示例代码
2014/03/04 Javascript
浅析jQuery Ajax通用js封装
2016/06/22 Javascript
JQuery Dialog对话框 不能通过Esc关闭的原因分析及解决办法
2017/01/18 Javascript
BootStrap组件之进度条的基本用法
2017/01/19 Javascript
详解webpack异步加载业务模块
2017/06/23 Javascript
JS实现问卷星自动填问卷脚本并在两秒自动提交功能
2020/06/17 Javascript
Thinkphp5微信小程序获取用户信息接口的实例详解
2017/09/26 Javascript
JavaScript setInterval()与setTimeout()计时器
2019/12/27 Javascript
解决antd 表单设置默认值initialValue后验证失效的问题
2020/11/02 Javascript
python学生信息管理系统
2018/03/13 Python
Python 下载及安装详细步骤
2019/11/04 Python
使用Pyhton集合set()实现成果查漏的例子
2019/11/24 Python
python os.listdir()乱码解决方案
2021/01/31 Python
阿迪达斯新加坡官方网站:adidas新加坡
2019/12/06 全球购物
Unineed中文官网:高端护肤美妆与时尚配饰,英国直邮
2020/07/23 全球购物
C#里面可以避免一个类被其他类继承么?如何?
2013/09/26 面试题
最受欢迎的自我评价
2013/12/22 职场文书
公司董事长助理工作职责
2014/07/12 职场文书
2014迎接教师节演讲稿
2014/09/10 职场文书
信访稳定工作汇报
2014/10/27 职场文书
2015商场元旦促销活动策划方案
2014/12/09 职场文书
会计求职简历自我评价
2015/03/10 职场文书
教师节寄语2015
2015/03/23 职场文书
护士2015年终工作总结
2015/04/29 职场文书
小学运动会加油词
2015/07/18 职场文书
五年级作文之成长
2019/09/16 职场文书
导游词之韩国济州岛
2019/10/28 职场文书
django 认证类配置实现
2021/11/11 Python
《废话连篇——致新手》——chinapizza
2022/04/05 无线电