flask 操作cookie
操作cookie對應的方式並不是通過return可以cookie設定回去
而是先要使用make_response構造一個響應物件
操作cookie的本質是操作響應頭 Response Heade
建立test_cookie.py內容如下
# coding:utf-8 from flask import Flask, make_response, request app = Flask(__name__) @app.route("/set_cookie") def set_cookie(): resp = make_response("succes") # 設定cookie,第一引數是cookie的名字,第二個引數是cookie的值 # 可以多次呼叫設定多個cookie # 預設有效期是臨時cookie,瀏覽器關閉就失效 resp.set_cookie("Itcast", "Python") resp.set_cookie("Itcast1", "python1") # max_age設定有效期,單位秒 resp.set_cookie("Itcast2","python",max_age=3600) # 操作cooker實際上設定響應頭,可以直接通過設定響應頭操作cookie resp.headers["Set-Cookie"] = "Itcast3=Python3;Expires=Sat, 18-Nov-2018 04:36:04 GMT; Max-Age=3600;" return resp @app.route("/get_cookie") def get_cookie(): # 獲取cookie c = request.cookies.get("Itcast") return c @app.route("/del_cookie") def del_cookie(): # 刪除cookie,引數是cookie的名稱 # 刪除cookie是將cookie的有效期設定為過期,而不是直接刪除 resp = make_response("del success") resp.delete_cookie("Itcast1") return resp if __name__ == '__main__': app.run(debug=True)
在谷歌瀏覽器中開啟檢視設定的cookie
點選network,再點選set_cookie,再檢視header可以看到4個set cookie都是在response header中新增的
