让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 相关文章推荐
wxpython 最小化到托盘与欢迎图片的实现方法
Jun 09 Python
使用PDB简单调试Python程序简明指南
Apr 25 Python
使用Python实现博客上进行自动翻页
Aug 23 Python
python+matplotlib实现动态绘制图片实例代码(交互式绘图)
Jan 20 Python
通过Python 接口使用OpenCV的方法
Apr 02 Python
python 定时修改数据库的示例代码
Apr 08 Python
Python批处理删除和重命名文件夹的实例
Jul 11 Python
Python如何实现转换URL详解
Jul 02 Python
python GUI库图形界面开发之pyinstaller打包python程序为exe安装文件
Feb 26 Python
Python3 pyecharts生成Html文件柱状图及折线图代码实例
Sep 29 Python
如何使用scrapy中的ItemLoader提取数据
Sep 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的魔术方法__get()和__set()使用介绍
2012/09/19 PHP
简单的php中文转拼音的实现代码
2014/02/11 PHP
php字符串按照单词进行反转的方法
2015/03/14 PHP
PHP测试成功的邮件发送案例
2015/10/26 PHP
Laravel框架Request、Response及Session操作示例
2019/05/06 PHP
为radio类型的INPUT添加客户端脚本(附加实现JS来禁用onClick事件思路代码)
2010/11/11 Javascript
jQuery根据纬度经度查看地图处理程序
2013/05/08 Javascript
js获取域名的方法
2015/01/27 Javascript
JS烟花背景效果实现方法
2015/03/03 Javascript
jQuery选择器源码解读(七):elementMatcher函数
2015/03/31 Javascript
JavaScript实现数字数组正序排列的方法
2015/04/06 Javascript
jQuery控制元素显示、隐藏、切换、滑动的方法总结
2015/04/16 Javascript
javascript bom是什么及bom和dom的区别
2015/11/26 Javascript
浅谈JavaScript 执行环境、作用域及垃圾回收
2016/05/31 Javascript
js通过classname来获取元素的方法
2016/11/24 Javascript
Angular 4中如何显示内容的CSS样式示例代码
2017/11/06 Javascript
webpack本地开发环境无法用IP访问的解决方法
2018/03/20 Javascript
JS实现左边列表移到到右边列表功能
2018/03/28 Javascript
使用vue-cli创建项目的图文教程(新手入门篇)
2018/05/02 Javascript
Vue中el-form标签中的自定义el-select下拉框标签功能
2020/04/20 Javascript
vue Cli 环境删除与重装教程 - 版本文档
2020/09/11 Javascript
Python环境下搭建属于自己的pip源的教程
2016/05/05 Python
python实现合并两个排序的链表
2019/03/03 Python
python opencv 读取图片 返回图片某像素点的b,g,r值的实现方法
2019/07/03 Python
Django实现文件上传和下载功能
2019/10/06 Python
Python操作列表常用方法实例小结【创建、遍历、统计、切片等】
2019/10/25 Python
基于matplotlib中ion()和ioff()的使用详解
2020/06/16 Python
Django数据库迁移常见使用方法
2020/11/12 Python
用python发送微信消息
2020/12/21 Python
什么是类的返射机制
2016/02/06 面试题
零件设计自荐信范文
2013/11/27 职场文书
市场营销求职信范文
2014/02/21 职场文书
网络编辑求职信
2014/04/30 职场文书
庆祝国庆节演讲稿2014
2014/09/19 职场文书
学校副校长四风对照检查材料整改措施
2014/09/25 职场文书
Redis安装使用RedisJSON模块的方法
2022/03/23 Redis