脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - Python - Python Flask中Cookie和Session区别详解

Python Flask中Cookie和Session区别详解

2022-07-27 17:20自由小冰儿 Python

Flask是一个使用 Python 编写的轻量级 Web 应用框架。其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2 。Flask使用 BSD 授权。Flask也被称为 “microframework” ,因为它使用简单的核心,用 extension 增加其他功能,Flask中Cookie和Session有什么

前言

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

为什么要说Cookie和Session呢?

答:因为http请求是无状态的,怎么理解呢?当你访问B站时,如果你没有Cookie或者Session,B站就认为你是一个没有登录的用户。如果你有Cookie或Session,那么B站就知道你登录了,并且知道你是谁。所以可以把跟你相关的资料返回

给你两者的区别:

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

安装

创建虚拟环境

?
1
2
3
mkdir myproject
cd myproject
python3 -m venv venv

进入虚拟环境

?
1
. venv/bin/activate

安装 flask

?
1
pip install Flask

Cookie的使用

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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的使用

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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

到此这篇关于Python Flask中Cookie和Session区别详解的文章就介绍到这了,更多相关Python Cookie Session 内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

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

延伸 · 阅读

精彩推荐
  • Pythonpython实现log日志的示例代码

    python实现log日志的示例代码

    下面小编就为大家分享一篇python实现log日志的示例代码,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    shengnan_only12252021-02-07
  • PythonPython正则表达式完全指南

    Python正则表达式完全指南

    正则表达式处理文本有如疾风扫秋叶,绝大部分编程语言都内置支持正则表达式,它应用在诸如表单验证、文本提取、替换等场景。下文给大家带来了pyt...

    liuzhijun5632020-11-12
  • PythonPython 2.6.6升级到Python2.7.15的详细步骤

    Python 2.6.6升级到Python2.7.15的详细步骤

    这篇文章主要介绍了Python 2.6.6升级到Python2.7.15的详细步骤,本文分步骤给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可...

    耿小厨5532021-08-13
  • Pythonpython TKinter获取文本框内容的方法

    python TKinter获取文本框内容的方法

    今天小编就为大家分享一篇python TKinter获取文本框内容的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    biubiuzzz7692021-04-06
  • Python2021年最新用于图像处理的Python库总结

    2021年最新用于图像处理的Python库总结

    为了快速地处理大量信息,科学家需要利用图像准备工具来完成人工智能和深度学习任务.在本文中,我将深入研究Python中最有用的图像处理库,这些库正在人工...

    woshicver9492021-12-01
  • Pythonpython smtplib模块自动收发邮件功能(二)

    python smtplib模块自动收发邮件功能(二)

    这篇文章主要为大家详细介绍了python smtplib模块自动收发邮件功能的第二篇,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    liujingqiu4032021-02-23
  • PythonPython深入浅出分析enum枚举类

    Python深入浅出分析enum枚举类

    在python中枚举是一种类(Enum,IntEnum),存放在enum模块中。枚举类型可以给一组标签赋予一组特定的值,本文给大家介绍的非常详细,对大家的学习或工作具...

    Flyme awei6432022-07-21
  • Pythonpython更改已存在excel文件的方法

    python更改已存在excel文件的方法

    今天小编就为大家分享一篇python更改已存在excel文件的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    blog_user_zk18652021-02-08