cookie
- 设置
cookie
from flask import Flask, make_response, request
app = Flask(__name__)
@app.route("/set_cookie", methods=["GET"])
def set_cookie():
response = make_response("成功")
# 设置cookie,默认有效期是临时cookie,浏览器关闭就失效
response.set_cookie("name", "python")
# max_age设置有效期,单位:秒
response.set_cookie("name1", "python1", max_age=3600)
return response
- 读取cookie
通过request.cookie
就可以获取上面设置的cookie
@app.route("/get_cookie", methods=["GET"])
def get_cookie():
# 获取cookie
ret = request.cookies.get("name1")
ret1 = request.cookies.get("name")
name = ret1 + "\n" + ret
return name
- 删除cookie
@app.route("/del_cookie", methods=["GET"])
def del_cookie():
# 删除cookie
response = make_response("删除cookie")
response.delete_cookie("name")
response.delete_cookie("name1")
return response
session
session
与cookie
的不同之处在于,cookie是储存在浏览器中,cookie
的大小有限制,不能超过4KB,而且安全性能低,而session
是储存在服务器端,大小不受限制,取决服务器端,安全性能高
而flask默认存储的session
是储存在cookie
中,通过秘钥方式加密
- 设置SECRET_KEY
# 设置密钥
class DefaultConfig():
SECRET_KEY = "fsdfsfgdfhdg" # 可以任意写
# 从配置对象中加载
app.config.from_object(DefaultConfig)
# 或者直接设置
app.secret_key = "sfddfgdfgsfsd"
- 设置
session
from flask import session
@app.route("/set_session", methods=["GET"])
def set_session():
"""设置session"""
session["username"] = "python"
return "设置session成功"
- 读取
session
@app.route("/get_session", methods=["GET"])
def get_session():
"""读取session"""
username = session.get("username")
return "读取到的session是:%s" % username