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 相关文章推荐
在Docker上开始部署Python应用的教程
Apr 17 Python
Python基于有道实现英汉字典功能
Jul 25 Python
python 循环遍历字典元素的简单方法
Sep 11 Python
R vs. Python 数据分析中谁与争锋?
Oct 18 Python
python实现远程通过网络邮件控制计算机重启或关机
Feb 22 Python
Python爬虫实现全国失信被执行人名单查询功能示例
May 03 Python
Python常见读写文件操作实例总结【文本、json、csv、pdf等】
Apr 15 Python
wxPython电子表格功能wx.grid实例教程
Nov 19 Python
使用 Python 写一个简易的抽奖程序
Dec 08 Python
python用pip install时安装失败的一系列问题及解决方法
Feb 24 Python
python中如何进行连乘计算
May 28 Python
pandas.DataFrame.drop_duplicates 用法介绍
Jul 06 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
web方式ftp
2006/10/09 PHP
php 获取一个月第一天与最后一天的代码
2010/05/16 PHP
php使用base64加密解密图片示例分享
2014/01/20 PHP
PHP错误Cannot use object of type stdClass as array in错误的解决办法
2014/06/12 PHP
PHP大神的十大优良习惯
2016/09/14 PHP
tp5框架前台无限极导航菜单类实现方法分析
2020/03/29 PHP
js 模拟气泡屏保效果代码
2010/07/10 Javascript
javascript setAttribute, getAttribute 在不同浏览器上的不同表现
2010/08/05 Javascript
用Javascript来生成ftp脚本的小例子
2013/07/03 Javascript
自定义jquery模态窗口插件无法在顶层窗口显示问题
2014/05/29 Javascript
javascript实现数独解法
2015/03/14 Javascript
jQuery实现点击小图显示大图代码分享
2015/08/25 Javascript
JS组件Bootstrap Select2使用方法解析
2016/05/30 Javascript
jQuery实现table中的tr上下移动并保持序号不变的实例代码
2016/07/11 Javascript
ionic cordova一次上传多张图片(类似input file提交表单)的实现方法
2016/12/16 Javascript
bootstrap输入框组件使用方法详解
2017/01/19 Javascript
原生JS实现的双色球功能示例
2018/02/02 Javascript
JavaScript实现求最大公共子串的方法
2018/02/03 Javascript
js实现左右轮播图
2020/01/09 Javascript
javascript利用canvas实现鼠标拖拽功能
2020/07/23 Javascript
[45:56]Ti4正赛第一天 VG vs NEWBEE 3
2014/07/19 DOTA
Python群发邮件实例代码
2014/01/03 Python
在Python的Django框架下使用django-tagging的教程
2015/05/30 Python
python如何求解两数的最大公约数
2018/09/27 Python
Python学习笔记之视频人脸检测识别实例教程
2019/03/06 Python
使用Python将字符串转换为格式化的日期时间字符串
2019/09/01 Python
修改 CentOS 6.x 上默认Python的方法
2019/09/06 Python
Python一行代码解决矩阵旋转的问题
2019/11/30 Python
UNIX特点都有哪些
2016/04/05 面试题
银行学习十八大感想
2014/01/11 职场文书
诚信承诺书范文
2014/03/27 职场文书
婚假请假条怎么写
2014/04/10 职场文书
学习习近平主席讲话心得体会
2016/01/20 职场文书
中学音乐课教学反思
2016/02/18 职场文书
Python list去重且保持原顺序不变的方法
2021/04/03 Python
MySQL入门命令之函数-单行函数-流程控制函数
2021/04/05 MySQL