让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中数据解析
May 05 Python
Python简单获取自身外网IP的方法
Sep 18 Python
详解Python中表达式i += x与i = i + x是否等价
Feb 08 Python
python的re正则表达式实例代码
Jan 24 Python
Python基于dom操作xml数据的方法示例
May 12 Python
pandas中去除指定字符的实例
May 18 Python
Python3中bytes类型转换为str类型
Sep 27 Python
python实现简单多人聊天室
Dec 11 Python
django实现用户注册实例讲解
Oct 30 Python
在OpenCV里使用Camshift算法的实现
Nov 22 Python
python cv2.resize函数high和width注意事项说明
Jul 05 Python
快速解释如何使用pandas的inplace参数的使用
Jul 23 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中$this和$that指针使用实例
2015/01/06 PHP
基于PHP如何把汉字转化为拼音
2015/12/11 PHP
thinkphp中的url跳转用法分析
2016/07/12 PHP
php mysql PDO 查询操作的实例详解
2017/09/23 PHP
PHP配合fiddler抓包抓取微信指数小程序数据的实现方法分析
2020/01/02 PHP
JS和函数式语言的三特性
2014/03/05 Javascript
easyui datagrid 键盘上下控制选中行示例
2014/03/31 Javascript
jQuery滚动条插件nanoscroller使用指南
2015/04/21 Javascript
Javascript删除指定元素节点的方法
2016/06/21 Javascript
JS实现的样式切换功能tableCSS实例
2016/12/30 Javascript
jQuery实现简单的手风琴效果
2020/04/17 jQuery
JS使用Date对象实时显示当前系统时间简单示例
2018/08/23 Javascript
js canvas实现画图、滤镜效果
2018/11/27 Javascript
NodeJS配置CORS实现过程详解
2020/12/02 NodeJs
一起来了解一下JavaScript的预编译(小结)
2021/03/01 Javascript
[45:16]完美世界DOTA2联赛循环赛 IO vs FTD BO2第二场 11.05
2020/11/06 DOTA
python不带重复的全排列代码
2013/08/13 Python
Python实现抓取城市的PM2.5浓度和排名
2015/03/19 Python
使用Python的Flask框架构建大型Web应用程序的结构示例
2016/06/04 Python
浅谈Python中重载isinstance继承关系的问题
2018/05/04 Python
python爬虫的数据库连接问题【推荐】
2018/06/25 Python
python环形单链表的约瑟夫问题详解
2018/09/27 Python
python批量下载网站马拉松照片的完整步骤
2018/12/05 Python
对Python中画图时候的线类型详解
2019/07/07 Python
Python GUI自动化实现绕过验证码登录
2020/01/10 Python
解析pip安装第三方库但PyCharm中却无法识别的问题及PyCharm安装第三方库的方法教程
2020/03/10 Python
python 解决pycharm运行py文件只有unittest选项的问题
2020/09/01 Python
Python如何使用ElementTree解析xml
2020/10/12 Python
Intersport西班牙:在线体育商店
2019/11/06 全球购物
英国著名的美容护肤和护发产品购物网站:Lookfantastic
2020/11/23 全球购物
动态密码技术
2012/10/18 面试题
大二学生职业生涯规划书
2014/02/05 职场文书
工程售后服务承诺书
2014/05/21 职场文书
西安导游词
2015/02/12 职场文书
会计求职自荐信范文
2015/03/04 职场文书
ORACLE数据库对long类型字段进行模糊匹配的解决思路
2021/04/07 Oracle