Sanic框架Cookies操作示例

作者:喷跑的豆子 时间:2022-12-24 05:29:04 

本文实例讲述了Sanic框架Cookies操作。分享给大家供大家参考,具体如下:

简介

Sanic是一个类似Flask的Python 3.5+ Web服务器,它的写入速度非常快。除了Flask之外,Sanic还支持异步请求处理程序。这意味着你可以使用Python 3.5中新的闪亮的异步/等待语法,使你的代码非阻塞和快速。

在上一篇《Sanic框架配置》中已经讲到,如何在Sanic进行相关的配置,接下来将介绍一下Sanic的Cookies的使用,Cookies是用户浏览器内部的一些数据,Sanic可以写入和读取存储为键值对的Cookie

写入Cookies

在返回响应时,可以在Response对象上设置Cookie:


from sanic.response import text
@app.route("/set_cookie")
async def set_cookie(request):
 response = text("set cookie success")
 response.cookies["test"] = "test"
 return response

Cookie可以像字典一样设置,并且具有如下参数:

  • expires:过期时间,Cookie在客户端浏览器上过期的时间

  • path:此Cookie使用的URL的子集。默认为/

  • comment:评论(元数据)

  • domain:Cookie的有效域

  • max-age:Cookie的活跃秒数

  • secure:指定Cookie是否仅通过HTTPS发送

  • httponly:指定Cookie是否不能被Javascript读取

举个例子:


@app.route("/set_cookie")
async def set_cookie(request):
 response = text("set cookie success")
 response.cookies["test"] = "test"
 response.cookies["test"]["max-age"] = 10
 return response

设置此Cookie的活跃秒数为10,反复获取此Cookie会发现,过了10s后此Cookie不存在了

读取Cookies

用户的Cookie可以通过Request对象的cookies字典进行访问:


from sanic.response import text
@app.route("/get_info")
async def get_info(request):
 test = request.cookies.get("test")
 return text("cookie:{}".format(test)

删除Cookies

可以在语义上或明确的删除Cookie


from sanic.response import text
@app.route("/del_info")
async def del_info(request):
 response = text("delete cookie success")
 del response.cookies["test"]
 return response

希望本文所述对大家Python程序设计有所帮助。

来源:https://blog.csdn.net/y472360651/article/details/80207717

标签:Sanic框架,Cookies
0
投稿

猜你喜欢

  • python使用Plotly绘图工具绘制散点图、线形图

    2022-06-24 08:11:50
  • pytorch实现手写数字图片识别

    2021-04-20 12:46:58
  • 如何利用Fiddler模拟恶劣网络环境

    2022-04-12 02:22:51
  • mysql建表常用sql语句个人经验分享

    2024-01-27 12:30:48
  • RedHat 9.0下用rpm包安装mysql

    2008-11-22 12:28:00
  • 让复杂导航设计变得简单

    2008-01-07 11:50:00
  • 白鸦:贪守米缸者,饿死灶台

    2009-02-23 13:03:00
  • 如何在pycharm中配置pyqt5设计GUI操作教程

    2021-09-28 17:42:21
  • 仅Firefox中链接A无法实现模拟点击以触发其默认行为

    2023-06-27 23:29:02
  • 关于 SQL Server ErrorLog 错误日志说明

    2024-01-19 23:57:03
  • MySQL的常用命令集锦

    2024-01-16 00:40:44
  • Python数据可视化之简单折线图的绘制

    2021-05-25 11:59:30
  • PHP实现HTML页面静态化的方法

    2023-10-15 04:09:59
  • 浅析mysql迁移到clickhouse的5种方法

    2024-01-27 21:51:47
  • sql语言中delete删除命令语句详解

    2024-01-28 02:20:02
  • Python多线程操作之互斥锁、递归锁、信号量、事件实例详解

    2023-03-09 04:22:05
  • vue2.0开发实践总结之疑难篇

    2024-05-02 16:33:28
  • 深入Golang中的sync.Pool详解

    2024-02-02 05:31:27
  • 解决MySQL 5数据库连接超时问题

    2009-03-25 15:24:00
  • centos7之Python3.74安装教程

    2023-10-27 15:15:24
  • asp之家 网络编程 m.aspxhome.com