让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 28 Python
Django卸载之后重新安装的方法
Mar 15 Python
Python解析json之ValueError: Expecting property name enclosed in double quotes: line 1 column 2(char 1)
Jul 06 Python
python远程连接服务器MySQL数据库
Jul 02 Python
浅谈python之高阶函数和匿名函数
Mar 21 Python
利用python实现PSO算法优化二元函数
Nov 13 Python
Python3如何对urllib和urllib2进行重构
Nov 25 Python
Python自动重新加载模块详解(autoreload module)
Apr 01 Python
PyTorch中torch.tensor与torch.Tensor的区别详解
May 18 Python
python装饰器实现对异常代码出现进行自动监控的实现方法
Sep 15 Python
matplotlib阶梯图的实现(step())
Mar 02 Python
python 实现图与图之间的间距调整subplots_adjust
May 21 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速度全攻略
2006/10/09 PHP
php 读取文件头判断文件类型的实现代码
2013/08/05 PHP
destoon切换城市后实现logo旁边显示地区名称的方法
2014/08/21 PHP
PHP GD库生成图像的几个函数总结
2014/11/19 PHP
php下载远程大文件(获取远程文件大小)的实例
2017/06/17 PHP
Yii框架响应组件用法实例分析
2019/09/04 PHP
Laravel获取当前请求的控制器和方法以及中间件的例子
2019/10/11 PHP
Javascript 判断Flash是否加载完成的代码
2010/04/12 Javascript
jquery ajax例子返回值详解
2012/09/11 Javascript
杨氏矩阵查找的JS代码
2013/03/21 Javascript
JS远程获取网页源代码实例
2013/09/05 Javascript
jquery ajax属性async(同步异步)示例
2013/11/05 Javascript
js关于精确计算和数值格式化以及直接引js文件
2014/01/28 Javascript
JQuery插件iScroll实现下拉刷新,滚动翻页特效
2014/06/22 Javascript
javascript字符串替换函数如何一次性全部替换掉
2015/10/30 Javascript
JQuery实现网页右侧随动广告特效
2016/01/17 Javascript
jQuery多文件异步上传带进度条实例代码
2016/08/16 Javascript
Angular.JS中指令ng-if的注意事项小结
2017/06/21 Javascript
react native带索引的城市列表组件的实例代码
2017/08/08 Javascript
浅谈Express异步进化史
2017/09/09 Javascript
Js中async/await的执行顺序详解
2017/09/22 Javascript
详解NODEJS的http实现
2018/01/04 NodeJs
vue中添加mp3音频文件的方法
2018/03/02 Javascript
js实现表单项的全选、反选及删除操作示例
2020/06/05 Javascript
pyqt4教程之messagebox使用示例分享
2014/03/07 Python
django模板加载静态文件的方法步骤
2019/03/01 Python
我用Python抓取了7000 多本电子书案例详解
2019/03/25 Python
Python GUI自动化实现绕过验证码登录
2020/01/10 Python
pytorch进行上采样的种类实例
2020/02/18 Python
django 扩展user用户字段inlines方式
2020/03/30 Python
Under Armour安德玛中国官网:美国高端运动科技品牌
2018/03/09 全球购物
运动会领导邀请函
2014/01/10 职场文书
感恩父母的演讲稿
2014/05/06 职场文书
学雷锋日活动总结
2015/02/06 职场文书
医德医风自我评价2015
2015/03/03 职场文书
Django cookie和session的应用场景及如何使用
2021/04/29 Python