让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 相关文章推荐
videocapture库制作python视频高速传输程序
Dec 23 Python
从Python的源码浅要剖析Python的内存管理
Apr 16 Python
Python的MongoDB模块PyMongo操作方法集锦
Jan 05 Python
python中文乱码不着急,先看懂字节和字符
Dec 20 Python
python统计多维数组的行数和列数实例
Jun 23 Python
Sanic框架应用部署方法详解
Jul 18 Python
Python打开文件,将list、numpy数组内容写入txt文件中的方法
Oct 26 Python
python 并发编程 阻塞IO模型原理解析
Aug 20 Python
浅谈keras使用预训练模型vgg16分类,损失和准确度不变
Jul 02 Python
Pycharm 解决自动格式化冲突的设置操作
Jan 15 Python
教你使用Python获取QQ音乐某个歌手的歌单
Apr 03 Python
Python数组变形的几种实现方法
May 30 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 xml留言板 xml存储数据的简单例子
2009/08/24 PHP
php中的PHP_EOL换行符详细解析
2013/10/26 PHP
php生成毫秒时间戳的实例讲解
2017/09/22 PHP
用js判断浏览器是否是IE的比较好的办法
2007/05/08 Javascript
兼容FireFox 的 js 日历 支持时间的获取
2009/03/04 Javascript
jquery+json实现数据列表分页示例代码
2013/11/15 Javascript
js获得当前时区夏令时发生和终止的时间代码
2014/02/23 Javascript
JavaScript中length属性的使用方法
2015/06/05 Javascript
jQuery中 delegate使用的问题
2015/07/03 Javascript
Jquery实现顶部弹出框特效
2015/08/08 Javascript
详解页面滚动值scrollTop在FireFox与Chrome浏览器间的兼容问题
2015/12/03 Javascript
JavaScript中的对象继承关系
2016/08/01 Javascript
基于javascript实现最简单选项卡切换
2017/02/01 Javascript
ES6入门教程之let和const命令详解
2017/05/17 Javascript
温故知新——JavaScript中的字符串连接问题最全总结(推荐)
2017/08/21 Javascript
node中koa中间件机制详解
2017/08/22 Javascript
vue中本地静态图片路径写法
2018/03/06 Javascript
JQuery样式操作、click事件以及索引值-选项卡应用示例
2019/05/14 jQuery
vue实现的上拉加载更多数据/分页功能示例
2019/05/25 Javascript
如何基于jQuery实现五角星评分
2020/09/02 jQuery
跟老齐学Python之不要红头文件(2)
2014/09/28 Python
Python的爬虫包Beautiful Soup中用正则表达式来搜索
2016/01/20 Python
Python如何为图片添加水印
2016/11/25 Python
使用tensorflow实现AlexNet
2017/11/20 Python
pandas or sql计算前后两行数据间的增值方法
2018/04/20 Python
flask框架中勾子函数的使用详解
2018/08/01 Python
python模块和包的应用BASE_PATH使用解析
2019/12/14 Python
matplotlib bar()实现多组数据并列柱状图通用简便创建方法
2021/02/24 Python
video结合canvas实现视频在线截图功能
2018/06/25 HTML / CSS
美国在线宠物商店:Chewy
2019/01/12 全球购物
在C++ 程序中调用被C 编译器编译后的函数,为什么要加extern "C"
2014/08/09 面试题
药学专业个人的自我评价
2013/12/31 职场文书
计算机个人求职信范例
2014/01/24 职场文书
小学生关于梦想的演讲稿
2014/08/22 职场文书
民主评议政风行风整改方案
2014/09/17 职场文书
JS Canvas接口和动画效果大全
2021/04/29 Javascript