什么是钩子(中间件Middleware)
钩子或叫钩子函数,是指在执行函数和目标函数之间挂载的函数,框架开发者给调用方提供一个point-挂载点, 一种AOP切面编程思想.
常用的钩子函数
before_first_request: 处理第一次请求之前执行
before_request: 在每次请求之前执行,通常使用这个钩子函数预处理一些变量,实现反爬等
after_request: 注册一个函数,如果没有未处理的异常抛出,在每次请求之后运行.
teardown_appcontext: 当APP上下文被移除之后执行的函数,可以进行数据库的提交或者回滚
使用缓存设置一个简单反把案例 :
#针对TP做反爬(简单) ip = request.remote addr # cache.get() # cache.set() // 设置缓存 if cache.get(ip): #做了拦截,不会进入视图函数 return'小伙子,别爬了!" else: #对每个IP设置一个缓存,1秒内不让复访问 cache.set(ip,'value',timeout=1)
标签:缓存,函数,flask,钩子,cache,request,ip From: https://www.cnblogs.com/longly1111/p/18469729