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中的复制操作及copy模块中的浅拷贝与深拷贝方法
Jul 02 Python
Python守护进程和脚本单例运行详解
Jan 06 Python
python 对dataframe下面的值进行大规模赋值方法
Jun 09 Python
实例讲解Python爬取网页数据
Jul 08 Python
python的xpath获取div标签内html内容,实现innerhtml功能的方法
Jan 02 Python
Python List cmp()知识点总结
Feb 18 Python
python多线程下信号处理程序示例
May 31 Python
将python2.7添加进64位系统的注册表方式
Nov 20 Python
Python 项目转化为so文件实例
Dec 23 Python
通过python连接Linux命令行代码实例
Feb 18 Python
python3 正则表达式基础廖雪峰
Mar 25 Python
Node.js 和 Python之间该选择哪个?
Aug 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
PHP实现定时生成HTML网站首页实例代码
2008/11/20 PHP
彻底杜绝PHP的session cookie错误
2009/08/09 PHP
UCenter中的一个可逆加密函数authcode函数代码
2010/07/20 PHP
PHP实现接收二进制流转换成图片的方法
2017/01/10 PHP
制作jquery遮罩层效果导航菜单代码分享
2013/12/25 Javascript
jQuery实现返回顶部功能
2016/02/23 Javascript
简单讲解AngularJS的Routing路由的定义与使用
2016/03/05 Javascript
使用postMesssage()实现iframe跨域页面间的信息传递
2016/03/29 Javascript
JS功能代码集锦
2016/05/04 Javascript
JavaScript获取服务器端时间的方法
2016/11/29 Javascript
jQuery基于正则表达式的表单验证功能示例
2017/01/21 Javascript
几种响应式文字详解
2017/05/19 Javascript
微信小程序版翻牌小游戏
2018/01/26 Javascript
通过jquery.cookie.js实现记住用户名、密码登录功能
2018/06/20 jQuery
Phaser.js实现简单的跑酷游戏附源码下载
2018/10/26 Javascript
小程序实现自定义导航栏适配完美版
2019/04/02 Javascript
js实现圆形菜单选择器
2020/12/03 Javascript
Python 的 with 语句详解
2014/06/13 Python
Python Queue模块详细介绍及实例
2016/12/27 Python
在CentOS6上安装Python2.7的解决方法
2018/01/09 Python
Python操作Redis之设置key的过期时间实例代码
2018/01/25 Python
python使用matplotlib库生成随机漫步图
2018/08/27 Python
python实现写数字文件名的递增保存文件方法
2018/10/25 Python
拿来就用!Python批量合并PDF的示例代码
2020/08/10 Python
Python 开发工具通过 agent 代理使用的方法
2020/09/27 Python
python定义具名元组实例操作
2021/02/28 Python
css3 flex布局 justify-content:space-between 最后一行左对齐
2020/01/02 HTML / CSS
使用html5 canvas创建太空游戏的示例
2014/05/08 HTML / CSS
就业自荐书
2013/12/05 职场文书
料理师求职信
2014/01/30 职场文书
大学生求职信例文
2014/06/29 职场文书
重阳节慰问信
2015/02/15 职场文书
2016秋季运动会前导词
2015/11/25 职场文书
2016年暑假学生家长评语
2015/12/01 职场文书
高质量“欢迎词”
2019/04/03 职场文书
MySQL为id选择合适的数据类型
2021/06/07 MySQL