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 相关文章推荐
Djang中静态文件配置方法
Jul 30 Python
python实现图书管理系统
Mar 12 Python
通过Pandas读取大文件的实例
Jun 07 Python
Pycharm设置去除显示的波浪线方法
Oct 28 Python
NumPy 基本切片和索引的具体使用方法
Apr 24 Python
使用python3调用wxpy模块监控linux日志并定时发送消息给群组或好友
Jun 05 Python
PyQT实现菜单中的复制,全选和清空的功能的方法
Jun 17 Python
django-allauth入门学习和使用详解
Jul 03 Python
linux环境中没有网络怎么下载python
Jul 07 Python
Python使用python-docx读写word文档
Aug 26 Python
Python-numpy实现灰度图像的分块和合并方式
Jan 09 Python
Python3获取cookie常用三种方案
Oct 05 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
磨咖啡豆的密诀
2021/03/03 冲泡冲煮
一步一步学习PHP(8) php 数组
2010/03/05 PHP
php增删改查示例自己写的demo
2013/09/04 PHP
php计算整个目录大小的方法
2015/06/01 PHP
header与缓冲区之间的深层次分析
2016/07/30 PHP
基于PHP的登录和注册的功能的实现
2020/08/06 PHP
Prototype使用指南之dom.js
2007/01/10 Javascript
nodejs win7下安装方法
2012/05/24 NodeJs
jQuery中:first-child选择器用法实例
2014/12/31 Javascript
javascript实现详细时间提醒信息效果的方法
2015/03/11 Javascript
js限制文本框只能输入中文的方法
2015/08/11 Javascript
Vue方法与事件处理器详解
2016/12/01 Javascript
JavaScript方法_动力节点Java学院整理
2017/06/28 Javascript
详解使用Typescript开发node.js项目(简单的环境配置)
2017/10/09 Javascript
Vue动态加载图片在跨域时无法显示的问题及解决方法
2020/03/10 Javascript
针对Vue路由history模式下Nginx后台配置操作
2020/10/22 Javascript
梳理一下vue中的生命周期
2020/12/30 Vue.js
朴素贝叶斯算法的python实现方法
2014/11/18 Python
python实现颜色rgb和hex相互转换的函数
2015/03/19 Python
Fiddler如何抓取手机APP数据包
2016/01/22 Python
python+selenium实现登录账户后自动点击的示例
2017/12/22 Python
Python 中包/模块的 `import` 操作代码
2019/04/22 Python
手写一个python迭代器过程详解
2019/08/27 Python
基于python实现语音录入识别代码实例
2020/01/17 Python
Pycharm及python安装详细步骤及PyCharm配置整理(推荐)
2020/07/31 Python
python 已知平行四边形三个点,求第四个点的案例
2020/04/12 Python
Python函数必须先定义,后调用说明(函数调用函数例外)
2020/06/02 Python
Numpy中的数组搜索中np.where方法详细介绍
2021/01/08 Python
html5跨域通讯之postMessage的用法总结
2013/11/07 HTML / CSS
介绍一下游标
2012/01/10 面试题
啤酒节策划方案
2014/05/28 职场文书
2015驻村干部工作总结
2015/04/07 职场文书
Mysql基础知识点汇总
2021/05/26 MySQL
一文搞懂Python Sklearn库使用
2021/08/23 Python
Python编程中内置的NotImplemented类型的用法
2022/03/23 Python
清空 Oracle 安装记录并重新安装
2022/04/26 Oracle