专栏首页Devops专栏Flask cookie的使用

Flask cookie的使用

在web项目中,设置cookie和session是基本必不可少的一个功能,而Flask设置cookie是使用make_response返回响应信息的时候设置的。 下面来看看Flask框架设置cookie的基本用法。

基本用法

# 导入make_response
from flask import make_response

# 创建响应消息
resp = make_response("set cookie")

# 设置cookie, 默认有效期是临时cookie,浏览器关闭就失效
resp.set_cookie("key", "value")

# max_age设置有效期,单位:秒
resp.set_cookie("key", "value", max_age=3600)

# 使用headers来直接设置Cookie
resp.headers["Set-Cookie"] = "key=value; Expires=Thu, 07-Nov-2019 15:00:10 GMT; Max-Age=3600; Path=/"

# 读取cookie
value = request.cookies.get("key")

# 删除cookie
resp.delete_cookie("key")

下面来写个示例如下:

Cookie使用示例代码

from flask import Flask, make_response, request

# 实例化app
app = Flask(import_name=__name__)

# 设置cookie
@app.route('/set_cookie', methods=["GET","POST"])
def set_cookie():
    resp = make_response("set cookie success")
    # 设置cookie, 默认有效期是临时cookie,浏览器关闭就失效
    resp.set_cookie("key1", "value1")
    resp.set_cookie("key2", "value2")
    # max_age设置有效期,单位:秒
    resp.set_cookie("key3", "value3", max_age=3600)
    resp.headers["Set-Cookie"] = "key4=value4; Expires=Thu, 07-Nov-2019 15:00:10 GMT; Max-Age=3600; Path=/"
    return resp

# 读取cookie
@app.route('/get_cookie', methods=["GET","POST"])
def get_cookie():
    res = request.cookies.get('key3')
    return "get cookie key3's value = %s" % res

# 删除cookie
@app.route('/del_cookie', methods=["GET","POST"])
def del_cookie():
    resp = make_response("del cookie key3")
    resp.delete_cookie('key1')
    resp.delete_cookie('key2')
    resp.delete_cookie('key3')
    resp.delete_cookie('key4')
    return resp

if __name__ == '__main__':
    app.run(debug=True)

可以从返回的响应消息看到,后端返回设置Cookie的消息则是:

Set-Cookie: key1=value1; Path=/
Set-Cookie: key2=value2; Path=/
Set-Cookie: key3=value3; Expires=Thu, 07-Nov-2019 15:00:10 GMT; Max-Age=3600; Path=/

所以在响应消息的headers直接设置也可以设置Cookie,效果是一样的。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • jquery 本地存储 cookie 的基本用法

    本地存储分为cookie,以及新增的localStorage和sessionStorage 。本篇章专门来讲讲 cookie

    Devops海洋的渔夫
  • 6. Vue v-on绑定监听事件的基本使用

    v-on命令就是相当于js中的事件绑定,例如绑定click、mouseover等等监听事件。

    Devops海洋的渔夫
  • CSS background属性

    background属性是css中应用比较多,且比较重要的一个属性,它是负责给盒子设置背景图片和背景颜色的,background是一个复合属性,它可以分解成如下...

    Devops海洋的渔夫
  • cookie方法封装及cookie缺点分析

    用户1741436
  • 实用主义:前端cookie介绍及操作封装

    MrTreasure
  • Cookie——客户端存储

    cookie API 是通过document.cookie属性来实现的。cookie是存储在访问者的计算机中的变量,与页面相关联。

    Html5知典
  • 14.Django基础之jQuery操作cookie

      定义:让网站服务器把少量数据储存到客户端的硬盘或内存,从客户端的硬盘读取数据的一种技术;

    changxin7
  • 网络基础 cookie详解

    session cookie储存在浏览器内存中,针对某一次会话而言,会话结束session cookie也就随着消失了;

    授客
  • Jmeter接口测试实战-有趣的cookie

    接口测试时常都需要登录,请求方式(post), 登录常用的方法有通过获取token, 获取session, 获取cookie, 等等. 这几种都有一个共同的特点...

    louiezhou001
  • 爬虫之FileCookieJar

    人生不如戏

扫码关注云+社区

领取腾讯云代金券