让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进行基础的函数式编程的教程
Mar 31 Python
用map函数来完成Python并行任务的简单示例
Apr 02 Python
Python3通过Luhn算法快速验证信用卡卡号的方法
May 14 Python
Python实现购物程序思路及代码
Jul 24 Python
使用python编写简单的小程序编译成exe跑在win10上
Jan 15 Python
对python中的for循环和range内置函数详解
Apr 17 Python
python3 selenium 切换窗口的几种方法小结
May 21 Python
Python wxPython库消息对话框MessageDialog用法示例
Sep 03 Python
如何基于Python制作有道翻译小工具
Dec 16 Python
MxNet预训练模型到Pytorch模型的转换方式
May 25 Python
Python eval函数原理及用法解析
Nov 14 Python
Python预测分词的实现
Jun 18 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实现显示照片exif信息的方法
2014/07/11 PHP
CodeIgniter多语言实现方法详解
2016/01/20 PHP
PHP实现的XML操作类【XML Library】
2016/12/29 PHP
基于jquery实现漂亮的动态信息提示效果
2011/08/02 Javascript
js页面滚动时层智能浮动定位实现(jQuery/MooTools)
2011/08/23 Javascript
jQuery扁平化风格下拉框美化插件FancySelect使用指南
2015/02/10 Javascript
jquery.form.js实现将form提交转为ajax方式提交的方法
2015/04/07 Javascript
jQuery实现仿Google首页拖动效果的方法
2015/05/04 Javascript
Javascript实现div层渐隐效果的方法
2015/05/30 Javascript
详解JavaScript时间格式化
2015/12/23 Javascript
详解maxlength属性在textarea里奇怪的表现
2015/12/27 Javascript
js轮盘抽奖实例分析
2020/04/17 Javascript
xcode中获取js文件的路径方法(推荐)
2016/11/05 Javascript
Bootstrap3 datetimepicker控件使用实例
2016/12/13 Javascript
Angular2使用jQuery的方法教程
2017/05/28 jQuery
原生JS实现自定义滚动条效果
2020/10/27 Javascript
对angularJs中自定义指令replace的属性详解
2018/10/09 Javascript
vue列表单项展开收缩功能之this.$refs的详解
2019/05/05 Javascript
vue+koa2搭建mock数据环境的详细教程
2020/05/18 Javascript
[01:00:54]TI4正赛第二日开场
2014/07/20 DOTA
[11:42]2018DOTA2国际邀请赛寻真——OG卷土重来
2018/08/17 DOTA
Python标准库之Sys模块使用详解
2015/05/23 Python
python利用rsa库做公钥解密的方法教程
2017/12/10 Python
解决webdriver.Chrome()报错:Message:'chromedriver' executable needs to be in Path
2019/06/12 Python
ERLANG和PYTHON互通实现过程详解
2019/07/05 Python
Python : turtle色彩控制实例详解
2020/01/19 Python
专门出售各种儿童读物的网站:Put Me In The Story
2016/08/07 全球购物
KIKO MILANO英国官网:意大利知名化妆品和护肤品品牌
2017/09/25 全球购物
毕业生机械建模求职信
2013/10/14 职场文书
物业经理自我鉴定
2014/03/03 职场文书
幼儿园老师寄语
2014/04/03 职场文书
争做文明公民倡议书
2014/08/29 职场文书
教师节班会主持词
2015/07/06 职场文书
golang gopm get -g -v 无法获取第三方库的解决方案
2021/05/05 Golang
详解分布式系统中如何用python实现Paxos
2021/05/18 Python
python 使用pandas读取csv文件的方法
2022/12/24 Python