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编程开发之类型转换convert实例分析
Nov 13 Python
Python的时间模块datetime详解
Apr 17 Python
Python温度转换实例分析
Jan 17 Python
使用Python制作微信跳一跳辅助
Jan 31 Python
Python 函数基础知识汇总
Mar 09 Python
通过python爬虫赚钱的方法
Jan 29 Python
OpenCV-Python 摄像头实时检测人脸代码实例
Apr 30 Python
如何使用Python多线程测试并发漏洞
Dec 18 Python
终于搞懂了Keras中multiloss的对应关系介绍
Jun 22 Python
Python reques接口测试框架实现代码
Jul 28 Python
Django实现简单的分页功能
Feb 22 Python
解决hive中导入text文件遇到的坑
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
Ajax PHP 边学边练 之三 数据库
2009/11/26 PHP
php学习之运算符相关概念
2011/06/09 PHP
php whois查询API制作方法
2011/06/23 PHP
PHP 过滤页面中的BOM(实现代码)
2013/06/29 PHP
使用PHP和HTML5 FormData实现无刷新文件上传教程
2014/09/06 PHP
php字符比较函数similar_text、strnatcmp与strcasecmp用法分析
2014/11/18 PHP
php定义一个参数带有默认值的函数实例分析
2015/03/16 PHP
php计算整个mysql数据库大小的方法
2015/06/19 PHP
js树形控件脚本代码
2008/07/24 Javascript
JS获取图片实际宽高及根据图片大小进行自适应
2013/08/11 Javascript
javascript获取url上某个参数的方法
2013/11/08 Javascript
EasyUi datagrid 实现表格分页
2015/02/10 Javascript
javascript实现在线客服效果
2015/07/15 Javascript
jQuery轻松实现表格的隔行变色和点击行变色的实例代码
2016/05/09 Javascript
浅谈jQuery中ajaxPrefilter的应用
2016/08/01 Javascript
通过一个简单的例子学会vuex与模块化
2017/11/22 Javascript
浅谈webpack对样式的处理
2018/01/05 Javascript
微信小程序之圆形进度条实现思路
2018/02/22 Javascript
解决linux下node.js全局模块找不到的问题
2018/05/15 Javascript
深入理解JavaScript 中的匿名函数((function() {})();)与变量的作用域
2018/08/28 Javascript
Layui点击图片弹框预览的实现方法
2019/09/16 Javascript
JavaScript实现秒杀时钟倒计时
2019/09/29 Javascript
使用JavaScript实现网页秒表功能(含开始、暂停、继续、重置功能)
2020/06/05 Javascript
如何利用javascript接收json信息并进行处理
2020/08/06 Javascript
python队列queue模块详解
2018/04/27 Python
python3 requests中使用ip代理池随机生成ip的实例
2018/05/07 Python
基于腾讯云服务器部署微信小程序后台服务(Python+Django)
2019/05/08 Python
python使用建议技巧分享(三)
2020/08/18 Python
印尼最大的网上书店:Gramedia.com
2018/09/13 全球购物
英国探险旅游专家:Explore
2018/12/20 全球购物
财务工作个人求职的自我评价
2013/12/19 职场文书
大四本科生的自我评价
2013/12/30 职场文书
经济贸易系求职信
2014/08/04 职场文书
MongoDB使用profile分析慢查询的步骤
2021/04/30 MongoDB
微信小程序实现录音Record功能
2021/05/09 Javascript
http通过StreamingHttpResponse完成连续的数据传输长链接方式
2022/02/12 Python