浅谈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中的25个隐藏特性
Mar 30 Python
Python中绑定与未绑定的类方法用法分析
Apr 29 Python
python中的迭代和可迭代对象代码示例
Dec 27 Python
Python实现随机漫步功能
Jul 09 Python
使用pandas把某一列的字符值转换为数字的实例
Jan 29 Python
对python:threading.Thread类的使用方法详解
Jan 31 Python
华为校园招聘上机笔试题 扑克牌大小(python)
Apr 22 Python
Python使用Pandas对csv文件进行数据处理的方法
Aug 01 Python
python3 写一个WAV音频文件播放器的代码
Sep 27 Python
python求最大公约数和最小公倍数的简单方法
Feb 13 Python
python 装饰器的实际作用有哪些
Sep 07 Python
详解Python牛顿插值法
May 11 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
dede3.1分页文字采集过滤规则详说(图文教程)续二
2007/04/03 PHP
php网页版聊天软件实现代码
2016/08/12 PHP
浅谈PHP中try{}catch{}的使用方法
2016/12/09 PHP
yii2项目实战之restful api授权验证详解
2017/05/20 PHP
JavaScript实现Sleep函数的代码
2007/03/04 Javascript
javascript HTMLEncode HTMLDecode的完整实例(兼容ie和火狐)
2009/06/02 Javascript
下载站控制介绍字数显示的脚本 显示全部 隐藏介绍等功能
2009/09/19 Javascript
jquery中的sortable排序之后的保存状态的解决方法
2010/01/28 Javascript
关于firefox的ElementTraversal 接口 使用说明
2010/11/11 Javascript
javascript实现页面内关键词高亮显示代码
2014/04/03 Javascript
jQuery实现的一个自定义Placeholder属性插件
2014/08/11 Javascript
Node.js 学习笔记之简介、安装及配置
2015/03/03 Javascript
js 截取或者替换字符串中的数字实现方法
2016/06/13 Javascript
PHP抓取HTTPS内容和错误处理的方法
2016/09/30 Javascript
vue.js指令v-for使用及索引获取
2016/11/03 Javascript
详解jQuery uploadify文件上传插件的使用方法
2016/12/16 Javascript
JS中SetTimeout和SetInterval使用初探
2017/03/23 Javascript
微信小程序中进行地图导航功能的实现方法
2018/06/29 Javascript
微信小程序实现导航栏和内容上下联动功能代码
2020/06/29 Javascript
使用python加密自己的密码
2015/08/04 Python
浅谈Django中的数据库模型类-models.py(一对一的关系)
2018/05/30 Python
使用python读取csv文件快速插入数据库的实例
2018/06/21 Python
python返回数组的索引实例
2019/11/28 Python
Python环境管理virtualenv&virtualenvwrapper的配置详解
2020/07/01 Python
市场营销毕业生自荐信
2013/11/23 职场文书
车间调度岗位职责
2013/11/30 职场文书
优秀求职信范文分享
2013/12/19 职场文书
应届毕业生个人求职信范文
2014/01/29 职场文书
医学类个人求职信范文
2014/02/05 职场文书
个人自荐材料
2014/05/23 职场文书
企业形象策划方案
2014/05/29 职场文书
2015元旦文艺汇演主持稿(开场白+结束语)
2014/12/14 职场文书
服务行业标语口号
2015/12/26 职场文书
导游词之淮安明祖陵
2019/11/25 职场文书
Mysql中存储引擎的区别及比较
2021/06/04 MySQL
Python django中如何使用restful框架
2021/06/23 Python