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回调函数的使用方法
Jan 23 Python
利用Python批量生成任意尺寸的图片
Aug 29 Python
python爬虫获取百度首页内容教学
Dec 23 Python
Python批量查询关键词微信指数实例方法
Jun 27 Python
如何基于pythonnet调用halcon脚本
Jan 20 Python
Keras构建神经网络踩坑(解决model.predict预测值全为0.0的问题)
Jul 07 Python
Java byte数组操纵方式代码实例解析
Jul 22 Python
python中pathlib模块的基本用法与总结
Aug 17 Python
python绘制趋势图的示例
Sep 17 Python
python tkinter实现定时关机
Apr 21 Python
Python 多线程处理任务实例
Nov 07 Python
python turtle绘图
May 04 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中mysql_connect与mysql_pconncet的区别详解
2013/05/15 PHP
PHP生成压缩文件实例
2015/02/07 PHP
Yii2设置默认控制器的两种方法
2017/05/19 PHP
redis+php实现微博(一)注册与登录功能详解
2019/09/23 PHP
PHP实现单例模式建立数据库连接的方法分析
2020/02/11 PHP
jquery 插件开发方法小结
2009/10/23 Javascript
Jquery ui css framework
2010/06/28 Javascript
JavaScript Array Flatten 与递归使用介绍
2011/10/30 Javascript
javascript实现类似java中getClass()得到对象类名的方法
2015/07/27 Javascript
本地Bootstrap文件字体图标引入却无法显示问题的解决方法
2020/04/18 Javascript
浅谈JS验证表单文本域输入空格的问题
2017/02/14 Javascript
Node.js 中exports 和 module.exports 的区别
2017/03/14 Javascript
Vue关于数据绑定出错解决办法
2017/05/15 Javascript
vue Element-ui input 远程搜索与修改建议显示模版的示例代码
2017/10/19 Javascript
vue+vuex+axios+echarts画一个动态更新的中国地图的方法
2017/12/19 Javascript
一文快速详解前端框架 Vue 最强大的功能
2019/05/21 Javascript
详解vue中v-bind:style效果的自定义指令
2020/01/21 Javascript
vue实现循环滚动列表
2020/06/30 Javascript
python实现的一个火车票转让信息采集器
2014/07/09 Python
Python做文本按行去重的实现方法
2016/10/19 Python
Python爬虫代理IP池实现方法
2017/01/05 Python
python指定写入文件时的编码格式方法
2018/06/07 Python
python 读取dicom文件,生成info.txt和raw文件的方法
2019/01/24 Python
python mac下安装虚拟环境的图文教程
2019/04/12 Python
使用python切片实现二维数组复制示例
2019/11/26 Python
Django CBV模型源码运行流程详解
2020/08/17 Python
python 用pandas实现数据透视表功能
2020/12/21 Python
网页中的电话号码如何实现一键直呼效果_附示例
2016/03/15 HTML / CSS
html5实现微信打飞机游戏
2014/03/27 HTML / CSS
英国最大的百货公司:Harrods
2016/08/18 全球购物
伦敦剧院门票:London Theatre Direct
2018/11/21 全球购物
创业培训计划书
2014/05/03 职场文书
个人务虚会发言材料
2014/10/20 职场文书
入党积极分子培养联系人意见
2015/08/12 职场文书
廉洁自律心得体会2016
2016/01/13 职场文书
Nginx 反向代理解决跨域问题多种情况分析
2022/01/18 Servers