Cookie和Session
cookie和session都是由server端创建的,唯一的区别是session由server端保存,而cookie由client端保存
Cookie
@app.route("/set_cookies")
def set_cookies():
response = app.make_response("success set cookies")
response.set_cookie("name", "python")
response.set_cookie("env", "ubuntu")
# 从返回response后开始计算(单位为s)
response.set_cookie("max", "20s", max_age=20)
# 格林尼治时间
response.set_cookie("expires", "in 2020-08-06T02:06:00.309Z", expires=datetime.datetime(year=2020, month=8, day=6, hour=2, minute=6))
return response
@app.route("/delete_cookie/<cookie_name>")
def delete_cookie(cookie_name):
response = app.make_response("success")
response.delete_cookie(cookie_name)
return response
@app.route("/clear_cookies")
def clear_cookies():
response = app.make_response("success")
for key in flask.request.cookies:
response.delete_cookie(key)
return response
@app.route("/print_cookies")
def print_cookies():
cookies = flask.request.cookies
return cookies
Session
app.secret_key = os.urandom(16)
# 创建或者修改session后,flask会自动添加或修改响应cookie中的session键值对
@app.route("/set_session/<username>/<password>")
def set_session(username, password):
flask.session['username'] = username
flask.session['password'] = password
return "success"
@app.route("/delete_session/<session_name>")
def delete_session(session_name):
flask.session.pop("password", None)
return "success"
@app.route("/clear_session")
def clear_session():
flask.session.clear()
return "success"
@app.route("/print_session")
def print_session():
session_map = dict()
for key in flask.session:
session_map[key] = flask.session.get(key)
return session_map