让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中list初始化方法示例
Sep 18 Python
python中import reload __import__的区别详解
Oct 16 Python
django模型层(model)进行建表、查询与删除的基础教程
Nov 21 Python
教你用Python写安卓游戏外挂
Jan 11 Python
python下解压缩zip文件并删除文件的实例
Apr 24 Python
在Python中通过getattr获取对象引用的方法
Jan 21 Python
详解Python 解压缩文件
Apr 09 Python
通过python实现弹窗广告拦截过程详解
Jul 10 Python
Django logging配置及使用详解
Jul 23 Python
tensorflow求导和梯度计算实例
Jan 23 Python
python接口自动化之ConfigParser配置文件的使用详解
Aug 03 Python
python报错TypeError: ‘NoneType‘ object is not subscriptable的解决方法
Nov 05 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内存缓存Memcached类实例
2014/12/08 PHP
php 无限级分类 获取顶级分类ID
2016/03/13 PHP
关于Anemometer图形化显示MySQL慢日志的工具搭建及使用的详细介绍
2020/07/13 PHP
[HTML/CSS/Javascript]WWTJS
2007/09/25 Javascript
如何使用JS获取IE上传文件路径(IE7,8)
2013/07/08 Javascript
JQuery中的事件及动画用法实例
2015/01/26 Javascript
javascript实现将文件保存到本地方法汇总
2015/07/26 Javascript
jQuery随手笔记之常用的jQuery操作DOM事件
2015/11/29 Javascript
jQuery ajax调用后台aspx后台文件的两种常见方法(不是ashx)
2016/06/28 Javascript
vuejs2.0子组件改变父组件的数据实例
2017/05/10 Javascript
详细介绍RxJS在Angular中的应用
2017/09/23 Javascript
Three.js利用Detector.js插件如何实现兼容性检测详解
2017/09/26 Javascript
简单谈谈vue的过渡动画(推荐)
2017/10/11 Javascript
node.js实现上传文件功能
2019/07/15 Javascript
layui禁用侧边导航栏点击事件的解决方法
2019/09/25 Javascript
python元组操作实例解析
2014/09/23 Python
python集合类型用法分析
2015/04/08 Python
简单的Apache+FastCGI+Django配置指南
2015/07/22 Python
Python装饰器基础详解
2016/03/09 Python
python列表的增删改查实例代码
2018/01/30 Python
Sanic框架异常处理与中间件操作实例分析
2018/07/16 Python
Python爬虫框架Scrapy基本用法入门教程
2018/07/26 Python
PyTorch的自适应池化Adaptive Pooling实例
2020/01/03 Python
Python3爬虫ChromeDriver的安装实例
2021/02/06 Python
python实现杨辉三角的几种方法代码实例
2021/03/02 Python
Html5游戏开发之乒乓Ping Pong游戏示例(二)
2013/01/21 HTML / CSS
美国机场停车位预订:About Airport Parking
2018/03/26 全球购物
海飞丝的广告词
2014/03/20 职场文书
文明寝室申报材料
2014/05/12 职场文书
论文诚信承诺书
2014/05/23 职场文书
校运动会广播稿(100篇)
2014/09/12 职场文书
学院党的群众路线教育实践活动第一阶段情况汇报
2014/10/25 职场文书
2014年妇产科工作总结
2014/12/08 职场文书
Nebula Graph解决风控业务实践
2022/03/31 MySQL
开发者首先否认《遗弃》被取消的传言
2022/04/11 其他游戏
Mysql 8.x 创建用户以及授予权限的操作记录
2022/04/18 MySQL