让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实现读取并显示图片的两种方法
Jan 13 Python
Python之Scrapy爬虫框架安装及使用详解
Nov 16 Python
Python File readlines() 使用方法
Mar 19 Python
Python运行不显示DOS窗口的解决方法
Oct 22 Python
python-opencv 将连续图片写成视频格式的方法
Jan 08 Python
Python 中的 global 标识对变量作用域的影响
Aug 12 Python
Python 求数组局部最大值的实例
Nov 26 Python
tensorflow多维张量计算实例
Feb 11 Python
python实现126邮箱发送邮件
May 20 Python
python按照list中字典的某key去重的示例代码
Oct 13 Python
Python + opencv对拍照得到的图片进行背景去除的实现方法
Nov 18 Python
python对文档中元素删除,替换操作
Apr 02 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排序算法之堆排序(Heap Sort)实例详解
2018/04/21 PHP
PHP常用函数之获取汉字首字母功能示例
2019/10/21 PHP
php的无刷新操作实现方法分析
2020/02/28 PHP
javascript实现的动态文字变换
2007/07/28 Javascript
web 页面分页打印的实现
2009/06/22 Javascript
javascript KeyDown、KeyPress和KeyUp事件的区别与联系
2009/12/03 Javascript
nodejs开发环境配置与使用
2014/11/17 NodeJs
Javascript基础教程之switch语句
2015/01/18 Javascript
JavaScript将当前时间转换成UTC标准时间的方法
2015/04/06 Javascript
Javascript实现单例模式
2016/01/24 Javascript
JavaScript必知必会(三) String .的方法来自何方
2016/06/08 Javascript
JavaScript函数基础详解
2017/02/03 Javascript
js实现PC端和移动端刮卡效果
2020/03/27 Javascript
JS对象创建的几种方式整理
2017/02/28 Javascript
详解webpack 如何集成第三方js库
2017/06/29 Javascript
深入探究angular2 UI组件之primeNG用法
2017/07/26 Javascript
laravel5.4+vue+element简单搭建的示例代码
2017/08/29 Javascript
js实现删除json中指定的元素
2020/09/22 Javascript
Python 模板引擎的注入问题分析
2017/01/01 Python
如何实现删除numpy.array中的行或列
2018/05/08 Python
Linux下python3.6.1环境配置教程
2018/09/26 Python
selenium+python 对输入框的输入处理方法
2018/10/11 Python
安装docker-compose的两种最简方法
2019/07/30 Python
调试Django时打印SQL语句的日志代码实例
2019/09/12 Python
python实现画循环圆
2019/11/23 Python
django2.2 和 PyMySQL版本兼容问题
2020/02/17 Python
Python3使用Selenium获取session和token方法详解
2021/02/16 Python
怎样建立和理解非常复杂的声明?例如定义一个包含N 个指向返回 指向字符的指针的函数的指针的数组?
2013/03/19 面试题
轻化专业学生实习自我鉴定
2013/09/20 职场文书
大专生自荐信
2013/10/04 职场文书
护理目标管理责任书
2014/07/25 职场文书
2014年幼儿园后勤工作总结
2014/11/10 职场文书
为自己工作观后感
2015/06/11 职场文书
幼儿园毕业典礼园长致辞
2015/07/29 职场文书
初中班长竞选稿
2015/11/20 职场文书
Python爬虫基础之简单说一下scrapy的框架结构
2021/06/26 Python