Python?Flask中Cookie和Session區(qū)別詳解
前言
本篇文章,闡述一下Flask中Cookie和Session
為什么要說(shuō)Cookie和Session呢?
答:因?yàn)閔ttp請(qǐng)求是無(wú)狀態(tài)的,怎么理解呢?當(dāng)你訪問(wèn)B站時(shí),如果你沒(méi)有Cookie或者Session,B站就認(rèn)為你是一個(gè)沒(méi)有登錄的用戶。如果你有Cookie或Session,那么B站就知道你登錄了,并且知道你是誰(shuí)。所以可以把跟你相關(guān)的資料返回
給你兩者的區(qū)別:
答:Cookie是明文,Session是加密的Cookie。
安裝
創(chuàng)建虛擬環(huán)境
mkdir myproject cd myproject python3 -m venv venv
進(jìn)入虛擬環(huán)境
. venv/bin/activate
安裝 flask
pip install Flask
Cookie的使用
from flask import Flask, Response, request
app = Flask(__name__)
@app.route("/set_cookie")
def set_cookie():
response = Response("set cookie success")
response.set_cookie("user_id","123")
return response
@app.route("/get_cookie")
def get_cookie():
cookies = request.cookies
if cookies.get("user_id") == "123":
return "尊敬的用戶你好,你的cookies是" + str(cookies)
else:
return "你不是VIP,請(qǐng)先獲取身份"
if __name__ == "__main__":
app.run(debug=True,port=5000)第一次首先訪問(wèn)/home地址,會(huì)發(fā)現(xiàn)你沒(méi)有Cookie給你返回一個(gè)你不是VIP,請(qǐng)先獲取身份
但是當(dāng)我們首先訪問(wèn)/set_cookie,我們就會(huì)獲得一個(gè)cookie,然后我們?cè)谠L問(wèn)/home地址,就可以成功的顯示尊敬的用戶您好了
Session的使用
from flask import Flask, session
app = Flask(__name__)
# ?。?!你需要設(shè)置一個(gè)SECRET_KEY用來(lái)加密Cookie
app.config["SECRET_KEY"] = "123"
@app.route("/set_session")
def set_session():
session["user_name"] = "zhuxiaoxiao"
return "設(shè)置session成功" + session["user_name"]
@app.route("/home")
def home():
if session.get("user_name") == "zhuxiaoxiao":
return "尊敬的用戶,登錄成功"
else:
return "請(qǐng)先登錄好嗎?"
if __name__ == "__main__":
app.run(debug=True,port=5000)- Session的使用方式整體和Cookie是一樣的。
- 需要注意的是使用Session前,必須要進(jìn)行設(shè)置
SECRET_KEY,用來(lái)加密Cookie
到此這篇關(guān)于Python Flask中Cookie和Session區(qū)別詳解的文章就介紹到這了,更多相關(guān)Python Cookie Session 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python如何一行輸入多個(gè)數(shù),并存入列表
這篇文章主要介紹了Python如何一行輸入多個(gè)數(shù),并存入列表,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-05-05
python生成單位陣或?qū)顷嚨娜N方式小結(jié)
這篇文章主要介紹了python生成單位陣或?qū)顷嚨娜N方式小結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-05-05
python tkinter之頂層菜單、彈出菜單實(shí)例
這篇文章主要介紹了python tkinter之頂層菜單、彈出菜單實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-03-03
Python如何在main中調(diào)用函數(shù)內(nèi)的函數(shù)方式
這篇文章主要介紹了Python如何在main中調(diào)用函數(shù)內(nèi)的函數(shù)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-06-06
Python實(shí)現(xiàn)SqlServer查詢(xún)結(jié)果并寫(xiě)入多個(gè)Sheet頁(yè)的方法詳解
這篇文章主要為大家整理了兩個(gè)Python實(shí)現(xiàn)SqlServer查詢(xún)結(jié)果并寫(xiě)入多個(gè)Sheet頁(yè)的方法,文中的示例代碼講解詳細(xì),感興趣的可以了解一下2022-12-12
python基礎(chǔ)教程之類(lèi)class定義使用方法
Python中的類(lèi)(Class)是一個(gè)抽象的概念,比函數(shù)還要抽象,這也就是Python的核心概念,面對(duì)對(duì)象的編程方法(OOP),其它如:Java、C++等都是面對(duì)對(duì)象的編程語(yǔ)言2014-02-02
PyQt5實(shí)現(xiàn)簡(jiǎn)單的計(jì)算器
這篇文章主要為大家詳細(xì)介紹了PyQt5實(shí)現(xiàn)簡(jiǎn)單的計(jì)算器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-05-05

