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 序列化 pickle/cPickle模块使用介绍
Nov 30 Python
Python数据分析之真实IP请求Pandas详解
Nov 18 Python
Python爬虫DNS解析缓存方法实例分析
Jun 02 Python
Python+Socket实现基于UDP协议的局域网广播功能示例
Aug 31 Python
matplotlib中legend位置调整解析
Dec 19 Python
pyqt5的QWebEngineView 使用模板的方法
Aug 18 Python
python微信好友数据分析详解
Nov 19 Python
Python从入门到精通之环境搭建教程图解
Sep 26 Python
PyQt5 文本输入框自动补全QLineEdit的实现示例
May 13 Python
python属于哪种语言
Aug 16 Python
python删除文件、清空目录的实现方法
Sep 23 Python
python如何为list实现find方法
May 30 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文章按日期(月日)SQL归档语句
2012/11/29 PHP
ajax+php控制所有后台函数调用
2015/07/15 PHP
thinkPHP使用pclzip打包备份mysql数据库的方法
2016/04/30 PHP
Yii2实现自定义独立验证器的方法
2017/05/05 PHP
thinkPHP5 ACL用户权限模块用法详解
2017/05/10 PHP
eval与window.eval的差别分析
2011/03/17 Javascript
潜说js对象和数组
2011/05/25 Javascript
让jQuery与其他JavaScript库并存避免冲突的方法
2013/12/23 Javascript
js控制input框只读实现示例
2014/01/20 Javascript
简述JavaScript对传统文档对象模型的支持
2015/06/16 Javascript
Bootstrap源码解读导航条(7)
2016/12/23 Javascript
原生js实现无缝轮播图效果
2017/01/11 Javascript
jQuery实现复制到粘贴板功能
2017/02/11 Javascript
全面解析jQuery中的$(window)与$(document)的用法区别
2017/08/15 jQuery
浅谈webpack SplitChunksPlugin实用指南
2018/09/17 Javascript
js限制input只能输入有效的数字(第一个不能是小数点)
2018/09/28 Javascript
Laravel admin实现消息提醒、播放音频功能
2019/07/10 Javascript
vue+webpack 更换主题N种方案优劣分析
2019/10/28 Javascript
9种方法优化jQuery代码详解
2020/02/04 jQuery
vue scroll滚动判断的实现(是否滚动到底部、滚动方向、滚动节流、获取滚动区域dom元素)
2020/06/11 Javascript
Vue切换Tab动态渲染组件的操作
2020/09/21 Javascript
[01:37]DOTA2超级联赛专访ChuaN 传奇般的电竞之路
2013/06/19 DOTA
python中日期和时间格式化输出的方法小结
2015/03/19 Python
Python实现针对中文排序的方法
2017/05/09 Python
安装Python的教程-Windows
2017/07/22 Python
http请求 request失败自动重新尝试代码示例
2018/01/25 Python
在Django中URL正则表达式匹配的方法
2018/12/20 Python
使用Pandas将inf, nan转化成特定的值
2019/12/19 Python
python3通过qq邮箱发送邮件以及附件
2020/05/20 Python
CSS3 简写animation
2012/05/10 HTML / CSS
你应该知道的30个css选择器
2014/03/19 HTML / CSS
html5 input元素新特性_动力节点Java学院整理
2017/07/06 HTML / CSS
2014年便民服务中心工作总结
2014/12/20 职场文书
小学科学教学计划
2015/01/21 职场文书
民事答辩状格式范文
2015/05/21 职场文书
预备党员入党感想
2015/08/10 职场文书