日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

Python?Flask中Cookie和Session區別詳解_python

作者:自由小冰兒 ? 更新時間: 2022-09-20 編程語言

前言

本篇文章,闡述一下Flask中Cookie和Session

為什么要說Cookie和Session呢?

答:因為http請求是無狀態的,怎么理解呢?當你訪問B站時,如果你沒有Cookie或者Session,B站就認為你是一個沒有登錄的用戶。如果你有Cookie或Session,那么B站就知道你登錄了,并且知道你是誰。所以可以把跟你相關的資料返回

給你兩者的區別:

答:Cookie是明文,Session是加密的Cookie。

安裝

創建虛擬環境

mkdir myproject
cd myproject
python3 -m venv venv

進入虛擬環境

. 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,請先獲取身份"
if __name__ == "__main__":
    app.run(debug=True,port=5000)

第一次首先訪問/home地址,會發現你沒有Cookie給你返回一個你不是VIP,請先獲取身份

但是當我們首先訪問/set_cookie,我們就會獲得一個cookie,然后我們在訪問/home地址,就可以成功的顯示尊敬的用戶您好了

Session的使用

from flask import Flask, session
app = Flask(__name__)
# !!!你需要設置一個SECRET_KEY用來加密Cookie
app.config["SECRET_KEY"] = "123"
@app.route("/set_session")
def set_session():
    session["user_name"] = "zhuxiaoxiao"
    return "設置session成功" + session["user_name"]
@app.route("/home")
def home():
    if session.get("user_name") == "zhuxiaoxiao":
        return "尊敬的用戶,登錄成功"
    else:
        return "請先登錄好嗎?"
if __name__ == "__main__":
    app.run(debug=True,port=5000)
  • Session的使用方式整體和Cookie是一樣的。
  • 需要注意的是使用Session前,必須要進行設置SECRET_KEY,用來加密Cookie

原文鏈接:https://blog.csdn.net/qq_43497702/article/details/125948654

欄目分類
最近更新