Sanic框架Cookies操作示例


Posted in Python onJuly 17, 2018

本文实例讲述了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相关内容可查看本站专题:《Python入门与进阶经典教程》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python文件与目录操作技巧汇总》

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

Python 相关文章推荐
python中字典(Dictionary)用法实例详解
May 30 Python
用Python删除本地目录下某一时间点之前创建的所有文件的实例
Dec 14 Python
python-itchat 统计微信群、好友数量,及原始消息数据的实例
Feb 21 Python
Python+PyQT5的子线程更新UI界面的实例
Jun 14 Python
解决pycharm 工具栏Tool中找不到Run manager.py Task的问题
Jul 01 Python
Python列表(list)所有元素的同一操作解析
Aug 01 Python
Django框架表单操作实例分析
Nov 04 Python
tensorflow求导和梯度计算实例
Jan 23 Python
解决windows下python3使用multiprocessing.Pool出现的问题
Apr 08 Python
Python列表删除重复元素与图像相似度判断及删除实例代码
May 07 Python
Django + Taro 前后端分离项目实现企业微信登录功能
Apr 07 Python
详解Python中*args和**kwargs的使用
Apr 07 Python
Sanic框架配置操作分析
Jul 17 #Python
Sanic框架蓝图用法实例分析
Jul 17 #Python
PyCharm设置SSH远程调试的方法
Jul 17 #Python
Flask框架通过Flask_login实现用户登录功能示例
Jul 17 #Python
pycharm远程linux开发和调试代码的方法
Jul 17 #Python
Flask框架各种常见装饰器示例
Jul 17 #Python
详解基于django实现的webssh简单例子
Jul 17 #Python
You might like
浅谈PHP语法(1)
2006/10/09 PHP
解析web文件操作常见安全漏洞(目录、文件名检测漏洞)
2013/06/29 PHP
利用php+mcDropdown实现文件路径可在下拉框选择
2013/08/07 PHP
PHP与MYSQL中UTF8 中文排序示例代码
2014/10/23 PHP
crontab无法执行php的解决方法
2016/01/25 PHP
php+MySql实现登录系统与输出浏览者信息功能
2016/07/01 PHP
ThinkPHP中create()方法自动验证表单信息
2017/04/28 PHP
PHP children()函数讲解
2019/02/03 PHP
javascript 操作cookies及正确使用cookies的属性
2009/10/15 Javascript
JS 屏蔽按键效果与改变按键效果的示例代码
2013/12/24 Javascript
javascript抽象工厂模式详细说明
2014/12/16 Javascript
Javascript实现图片加载从模糊到清晰显示的方法
2016/06/21 Javascript
基于bootstrap风格的弹框插件
2016/12/28 Javascript
Ionic+AngularJS实现登录和注册带验证功能
2017/02/09 Javascript
JS中Object对象的原型概念基础
2018/01/29 Javascript
详解vue-cli 快速搭建单页应用之遇到的问题及解决办法
2018/03/01 Javascript
VUE基于NUXT的SSR 服务端渲染
2018/11/30 Javascript
了解JavaScript表单操作和表单域
2019/05/27 Javascript
如何在JavaScript中等分数组的实现
2020/12/13 Javascript
python操作MongoDB基础知识
2013/11/01 Python
python生成器的使用方法
2013/11/21 Python
Python 创建子进程模块subprocess详解
2015/04/08 Python
python实现RSA加密(解密)算法
2016/02/17 Python
python中文分词,使用结巴分词对python进行分词(实例讲解)
2017/11/14 Python
如何使用python3获取当前路径及os.path.dirname的使用
2019/12/13 Python
如何用Python和JS实现的Web SSH工具
2021/02/23 Python
CSS3实现的渐变幻灯片效果
2020/12/07 HTML / CSS
澳大利亚的奢侈品牌:Oroton
2016/08/26 全球购物
美国糖果店:Sugarfina
2019/02/21 全球购物
美国便宜的横幅和标志印刷在线:Best of Signs
2019/05/29 全球购物
伊莱克斯阿根廷网上商店:Tienda Electrolux
2021/03/08 全球购物
新任教师自我鉴定
2014/02/24 职场文书
运动会口号16字
2014/06/07 职场文书
大学生个人学习总结
2015/02/15 职场文书
Golang 使用Map实现去重与set的功能操作
2021/04/29 Golang
SQL中的连接查询详解
2022/06/21 SQL Server