让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正则表达式匹配HTML页面编码
Apr 08 Python
python使用in操作符时元组和数组的区别分析
May 19 Python
在Python中操作时间之strptime()方法的使用
Dec 30 Python
Python基础中所出现的异常报错总结
Nov 19 Python
对python 各种删除文件失败的处理方式分享
Apr 24 Python
Python生成短uuid的方法实例详解
May 29 Python
python面向对象法实现图书管理系统
Apr 19 Python
python基于json文件实现的gearman任务自动重启代码实例
Aug 13 Python
python类的实例化问题解决
Aug 31 Python
关于tensorflow的几种参数初始化方法小结
Jan 04 Python
利用PyTorch实现VGG16教程
Jun 24 Python
PyTorch如何搭建一个简单的网络
Aug 24 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
Classes and Objects in PHP5-面向对象编程 [1]
2006/10/09 PHP
深入理解PHP之数组(遍历顺序)  Laruence原创
2012/06/13 PHP
深入PHP数据缓存的使用说明
2013/05/10 PHP
php使用substr()和strpos()联合查找字符串中某一特定字符的方法
2015/05/12 PHP
php实现xml与json之间的相互转换功能实例
2016/07/07 PHP
Yii2框架实现注册和登录教程
2016/09/30 PHP
关于php支持的协议与封装协议总结(推荐)
2017/11/17 PHP
Mootools 1.2教程 选项卡效果(Tabs)
2009/09/15 Javascript
js setTimeout 常见问题小结
2013/08/13 Javascript
javascript禁用Tab键脚本实例
2013/11/22 Javascript
js(JavaScript)实现TAB标签切换效果的简单实例
2014/02/26 Javascript
javascript中的取反再取反~~没有意义
2014/04/06 Javascript
jquery实现pager控件示例
2014/04/09 Javascript
jQuery 顶部导航跟随滚动条滚动固定浮动在顶部
2014/06/06 Javascript
input标签内容改变的触发事件介绍
2014/06/18 Javascript
浅析javascript中函数声明和函数表达式的区别
2015/02/15 Javascript
基于javascript实现checkbox复选框实例代码
2016/01/28 Javascript
bootstrap组件之导航组件使用方法
2017/01/19 Javascript
详解Jquery EasyUI tree 的异步加载(遍历指定文件夹,根据文件夹内的文件生成tree)
2017/02/11 Javascript
Node.js使用NodeMailer发送邮件实例代码
2017/03/06 Javascript
详解vue跨组件通信的几种方法
2017/06/15 Javascript
js+canvas实现验证码功能
2020/09/21 Javascript
浅谈微信JS-SDK 微信分享接口开发(介绍版)
2018/08/15 Javascript
纯javascript实现选择框的全选与反选功能
2019/04/08 Javascript
微信小程序上传文件到阿里OSS教程
2019/05/20 Javascript
js实现贪吃蛇小游戏
2019/10/29 Javascript
JS使用setInterval计时器实现挑战10秒
2020/11/08 Javascript
[04:23]DOTA2上海特锦赛小组赛第一日 TOP10精彩集锦
2016/02/27 DOTA
Python生成不重复随机值的方法
2015/05/11 Python
深入了解Python中pop和remove的使用方法
2018/01/09 Python
python打包压缩、读取指定目录下的指定类型文件
2018/04/12 Python
详解python实现交叉验证法与留出法
2019/07/11 Python
绢花、人造花和人造花卉:BLOOM
2019/08/07 全球购物
意大利网上书店:LaFeltrinelli
2020/06/12 全球购物
公司前台接待岗位职责
2015/04/03 职场文书
详解Python类和对象内容
2021/06/22 Python