让python的Cookie.py模块支持冒号做key的方法


Posted in Python onDecember 28, 2010

为了做好兼容性,只能选择兼容:冒号。

很简单,修改一下Cookie.Morsel

#!/usr/bin/python 
# -*- coding: utf-8 -*- 
"""MorselHook, fix Cookie.CookieError: Illegal key value: ys-tab:entrance:e 
""" import Cookie 
import string 
_Morsel = Cookie.Morsel 
class MorselHook(_Morsel): 
""" 
>>> import inspect 
>>> (inspect.getargspec(MorselHook.set)[3])[0] 
"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!#$%&'*+-.^_`|~:" 
>>> cookie = Cookie.SimpleCookie() 
>>> cookie.load("ys-tab:entrance:e=abc; webpy_session_id=75eb60dcc83e2d902146af0bb7f47afe61fbd2b2") 
>>> print cookie 
Set-Cookie: webpy_session_id=75eb60dcc83e2d902146af0bb7f47afe61fbd2b2; 
Set-Cookie: ys-tab:entrance:e=abc; 
""" 
def set(self, key, val, coded_val, LegalChars=Cookie._LegalChars+':', idmap=string._idmap, translate=string.translate): 
return super(MorselHook, self).set(key, val, coded_val, LegalChars, idmap, translate) 
Cookie.Morsel = MorselHook 
# 在你需要使用到Cookie的地方先让上面的代码执行一遍 

if __name__ == '__main__': 
import doctest 
doctest.testmod()
Python 相关文章推荐
python中类的一些方法分析
Sep 25 Python
浅谈python类属性的访问、设置和删除方法
Jul 25 Python
Python_LDA实现方法详解
Oct 25 Python
Python实现曲线拟合操作示例【基于numpy,scipy,matplotlib库】
Jul 12 Python
python程序 线程队列queue使用方法解析
Sep 23 Python
python实现按首字母分类查找功能
Oct 31 Python
Python面向对象编程基础实例分析
Jan 17 Python
python序列类型种类详解
Feb 26 Python
Python使用Paramiko控制liunx第三方库
May 20 Python
python virtualenv虚拟环境配置与使用教程详解
Jul 13 Python
用pip给python安装matplotlib库的详细教程
Feb 24 Python
对PyTorch中inplace字段的全面理解
May 22 Python
python封装对象实现时间效果
Apr 23 #Python
python下函数参数的传递(参数带星号的说明)
Sep 19 #Python
Python 元类使用说明
Dec 18 #Python
Python3 入门教程 简单但比较不错
Nov 29 #Python
Python2.5/2.6实用教程 入门基础篇
Nov 29 #Python
python 快速排序代码
Nov 23 #Python
python 文件和路径操作函数小结
Nov 23 #Python
You might like
php中把美国时间转为北京时间的自定义函数分享
2014/07/28 PHP
详谈配置phpstorm完美支持Codeigniter(CI)代码自动完成(代码提示)
2017/04/07 PHP
laravel 实现设置时区的简单方法
2019/10/10 PHP
利用JQuery的load函数动态加载其它页面的内容的实现代码
2010/12/14 Javascript
JS中Iframe之间传值的方法
2013/03/11 Javascript
去除html代码里面的script正则方法
2016/05/19 Javascript
Vuejs第九篇之组件作用域及props数据传递实例详解
2016/09/05 Javascript
常用原生js自定义函数总结
2016/11/20 Javascript
jQuery加密密码到cookie的实现代码
2017/04/18 jQuery
详解vue-cli 构建Vue项目遇到的坑
2017/08/30 Javascript
详解Vue文档中几个易忽视部分的剖析
2018/03/24 Javascript
详解vue项目中使用token的身份验证的简单实践
2019/03/08 Javascript
Vue+Koa2 打包后进行线上部署的教程详解
2019/07/31 Javascript
React+Redux实现简单的待办事项列表ToDoList
2019/09/29 Javascript
vue在响应头response中获取自定义headers操作
2020/07/24 Javascript
[01:59]DOTA2首部纪录片《Free to play》预告片
2014/03/12 DOTA
让 python 命令行也可以自动补全
2014/11/30 Python
举例介绍Python中的25个隐藏特性
2015/03/30 Python
Python将多份excel表格整理成一份表格
2018/01/03 Python
基于numpy中数组元素的切片复制方法
2018/11/15 Python
python 导入数据及作图的实现
2019/12/03 Python
python对execl 处理操作代码
2020/06/22 Python
利用CSS3的定位页面元素
2009/08/29 HTML / CSS
园林设计师自荐信
2013/11/18 职场文书
大学生村官事迹材料
2014/01/21 职场文书
企业新年寄语
2014/04/04 职场文书
班干部竞选演讲稿
2014/04/24 职场文书
国际会计专业求职信
2014/08/04 职场文书
报到证办理个人委托书
2014/10/06 职场文书
第二批党的群众路线教育实践活动个人整改方案
2014/10/31 职场文书
2014年党风廉政工作总结
2014/12/03 职场文书
检讨书格式
2015/01/23 职场文书
spring cloud gateway中如何读取请求参数
2021/07/15 Java/Android
MySQL分库分表详情
2021/09/25 MySQL
Python字符串格式化方式
2022/04/07 Python
Java时间工具类Date的常用处理方法
2022/05/25 Java/Android