12.6.2 Morsel
还可以控制cookie的其他方面,如到期时间、路径和域。实际上,cookie的所有RFC属性都可以通过表示cookie值的Morsel对象来管理。

from http import cookies
import datetimedef show_cookie(c):print(c)for key,morsel in c.items():print()print('key=',morsel.key)print('  value=',morsel.value)print('  coded_value',morsel.coded_value)for name in morsel.keys():if morsel[name]:print('  {} = {}'.format(name,morsel[name]))c = cookies.SimpleCookie()# A cookie with a value that has to be encoded
# to fit into the header
c['encoded_value_cookie'] = '"cookie,value;"'
c['encoded_value_cookie']['comment'] = 'Has escaped punctuation'# A cookie that applies to only part of a site
c['restricted_cookie'] = 'cookie_value'
c['restricted_cookie']['path'] = '/sub/path'
c['restricted_cookie']['domain'] = 'PyMOTW'
c['restricted_cookie']['secure'] = True# A cookie that expires in 5 minutes
c['with_max_age'] = 'expires in 5 minutes'
c['with_max_age']['max-age'] = 300 # Seconds# A cookie that expires at a specific time
c['expires_at_time'] = 'cookie_value'
time_to_live = datetime.timedelta(hours=1)
expires = (datetime.datetime(2009,2,14,18,30,14) +time_to_live)# Date format: Wdy, DD-Mon_YY HH:MM:SS GMT
expires_at_time = expires.strftime('%a, %d %b %Y %H:%M:%S')
c['expires_at_time']['expires'] = expires_at_timeshow_cookie(c)

这个例子使用两个不同的方法设置到期的cookie。其中一个方法将max-age设置为一个秒数,另一个方法将expires设置为一个日期时间,达到这个日期时间就会丢弃这个cookie。
运行结果:

Cookie和Morsel对象都相当于字典。Morsel响应一个固定的键集:

expires

path

comment

domain

max-age

secure

version

Cookie实例的键是所存储的各个cookie的名。这个信息也可以从Morsel的键属性得到。

第十二章:互联网-http.cookies: HTTP cookie-Morsel相关推荐

  1. Linux云计算【第一阶段】第十二章:网络管理、进制及SSH管理与攻防

    第十二章:网络管理及SSH管理与攻防 [重难点] 一.网络发展概述 局域网 城域网 广域网 基本网络协议 客户端与服务器的概念 从客户端到服务器的经过 No.1 客户端与服务器的概念 客户端: 即表示 ...

  2. 《深入理解 Spring Cloud 与微服务构建》第十二章 服务注册和发现 Consul

    <深入理解 Spring Cloud 与微服务构建>第十二章 服务注册和发现 Consul 文章目录 <深入理解 Spring Cloud 与微服务构建>第十二章 服务注册和发 ...

  3. 第十二章: 部署Django

    2019独角兽企业重金招聘Python工程师标准>>> 第十二章: 部署Django 本章包含创建一个django程序最必不可少的步骤 在服务器上部署它 如果你一直跟着我们的例子做, ...

  4. 高级shell编程笔记(第十二章 外部过滤器,程序和命令)

    第十二章 外部过滤器,程序和命令 标准的UNIX命令使得脚本更加灵活.通过简单的编程结构把shell指令和系统命令结合起来,这才是脚本能力的所在. 12.1 基本命令 新手必须掌握的初级命令 ls 基 ...

  5. 【信息系统项目管理师】第二十二章 信息系统安全管理(考点汇总篇)

    [信息系统项目管理师]第二十二章 信息系统安全管理(考点汇总篇) 考点分析与预测 信息安全为高级科目独有的章节,在第三版教材中有66页的内容.需要掌握的知识点非常多,且知识点非常散,在考试中上午一般考 ...

  6. 第十二章 Django框架

    第十二章 Django框架 tcp/ip五层模型 应用层 传输层 网络层 数据链路层 物理层 socket : 套接字,位于应用层和传输层之间的虚拟层,是一组接口 c/s架构 ------> b ...

  7. 游戏设计的艺术:一本透镜的书——第十二章 游戏机制支撑谜题

    这是一本游戏设计方面的好书 转自天之虹的博客:http://blog.sina.com.cn/jackiechueng 感谢天之虹的无私奉献 Word版可到本人的资源中下载 第十二章 游戏机制支撑谜题 ...

  8. Netty In Action中文版 - 第十二章:SPDY

    Netty In Action中文版 - 第十二章:SPDY 本章我将不会直接翻译Netty In Action书中的原文,感觉原书中本章讲的很多废话,我翻译起来也吃力.所以,本章内容我会根据其他资料 ...

  9. RH124 第十二章 Linux系统中的软件管理

    RH124 第十二章 Linux系统中的软件管理 1.Linux中软件包的类型 1.DEB #UBlinux DEBlinux 2.RPM #redhat centOS fc 3.bz2|gz|xz ...

  10. stm32l0的停止模式怎么唤醒_探索者 STM32F407 开发板资料连载第二十二章 待机唤醒实验

    1)实验平台:alientek 阿波罗 STM32F767 开发板 2)摘自<STM32F7 开发指南(HAL 库版)>关注官方微信号公众号,获取更多资料:正点原子 第二十二章 待机唤醒实 ...

最新文章

  1. GPU编程和流式多处理器
  2. 飞谷云六期第三组——基于Spark的机器学习
  3. MAT之GA:GA优化BP神经网络的初始权值、阈值,从而增强BP神经网络的鲁棒性
  4. 超好看的B站首页顶部景深动态特效源码
  5. .Net程序员学用Oracle系列(16):访问数据库(ODP.NET)
  6. 使用vue-cli初始化项目时运行‘npm run dev’报错
  7. java ajax json 乱码_java+ajax加载中文json串后出现乱码问题的解决办法
  8. 【免费毕设】ASP.NET电子购物商城系统(源代码+lunwen)
  9. Linux 开源词典工具及下载链接
  10. 电气工程类中文核心期刊
  11. 在excel中如何筛选重复数据_EXCEL里如何快速统计重复的次数?
  12. java加密解密 pdf_Java加密与解密的艺术 梁栋著 中文 PDF版 [44M]
  13. 艾永亮:恒大七五折营销事件背后的逻辑与应用
  14. 暗色调Xshell配色方案
  15. 对话系统的历史 聊天机器人发展
  16. 从mysql学起_MySQL学习从这里出发!
  17. 【尚硅谷】Vue.js从入门到精通笔记
  18. 微信如何为好友设置特殊铃声提醒提示音
  19. 游戏数值策划入门介绍
  20. [NXP i.MX6ULL] UBOOT-2020.04

热门文章

  1. spectral-cluster聚类算法详解
  2. 好喝的阿拉伯咖啡Gahwa
  3. HTV-VIVE 连接 PC端 720云
  4. 【数理知识】狄利克雷函数 dirac(t)
  5. 马斯克等超1200人联名公开信呼吁:停止训练更强大的AI,这背后原因发人深省,该给ChatGPT泼冷水了
  6. pr导入预设发现带入原片,选择合适序列预设即可
  7. 荣誉勋章出现计算机中丢失,荣誉勋章战士无法运行的原因及解决方法
  8. 【荐】JS实现类似星球仿flash效果的动态菜单
  9. 多点生活的分布式服务框架DSF
  10. 24岁我有了自己的公司