Flask-cookie的使用
cookie
- cookie指某些网站为了辨别用户身份、进行会话跟踪而储存在用户本地的数据(通常经过加密)。
- 可以通过请求对象request的cookies属性来访问 Cookies,用响应对象的 set_cookie()方法来设置 Cookies。请求对象的cookies属性是一个内容为客户端提交的所有 Cookies 的字典。
- cookie是由服务器端生成,发送给客户端浏览器,浏览器会将Cookie的key/value保存,下次请求同一网站时就发送该Cookie给服务器
设置cookie有效期:
- max_age:过期时间,单位:秒
- expires:datetime类型,UTC时间(北京时间基础上减去8小时)
- max_age优先级高于expires
- 若没有设置过期时间,则默认过期时间为会话结束,即关闭浏览器
获取cookie:
from flask import request
# 获取cookie
@app.route(r'/get_cookie/<name>')
def getCookie(name):
cookie = request.cookies.get(name)
return cookie
设置cookie:
from flask import make_response
from datetime import datetime
@app.route(r'/set_cookie')
def setCookie():
resp = redirect('/')
resp.set_cookie("key1","val1") #过期时间为浏览器关闭
resp.set_cookie('key2','val2',max_age=3600) #过期时间3600秒
resp.set_cookie('key3','val3',expires=datetime(2020,12,31,15,59,59)) #过期时间为北京时间2020-12-31 23:59:59
return resp
删除cookie:
from flask import make_response
@app.route(r'/delete_cookie/<name>')
def delete_cookie(name):
resp = make_response('delete_cookie success')
resp.delete_cookie(name)
return resp