让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验证企业工商注册码
Oct 25 Python
python将unicode转为str的方法
Jun 21 Python
Windows环境下python环境安装使用图文教程
Mar 13 Python
[原创]windows下Anaconda的安装与配置正解(Anaconda入门教程)
Apr 05 Python
将python代码和注释分离的方法
Apr 21 Python
Django+Ajax+jQuery实现网页动态更新的实例
May 28 Python
python opencv判断图像是否为空的实例
Jan 26 Python
Python检测数据类型的方法总结
May 20 Python
Python大数据之从网页上爬取数据的方法详解
Nov 16 Python
python super函数使用方法详解
Feb 14 Python
python GUI库图形界面开发之PyQt5布局控件QVBoxLayout详细使用方法与实例
Mar 06 Python
anaconda安装pytorch1.7.1和torchvision0.8.2的方法(亲测可用)
Feb 01 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
晶体管单管来复再生式收音机
2021/03/02 无线电
了解咖啡雨林联盟认证 什么是雨林认证 雨林认证是什么意思
2021/03/05 新手入门
基于mysql的论坛(6)
2006/10/09 PHP
PHP语法速查表
2007/01/02 PHP
简单介绍PHP非阻塞模式
2016/03/03 PHP
CI框架简单邮件发送类实例
2016/05/18 PHP
根据key删除数组中指定的元素实现方法
2017/03/02 PHP
firefox插件Firebug的使用教程
2010/01/02 Javascript
JavaScript中使用replace结合正则实现replaceAll的效果
2010/06/04 Javascript
JavaScript高级程序设计 阅读笔记(七) ECMAScript中的语句
2012/02/27 Javascript
jquery load事件(callback/data)使用方法及注意事项
2013/02/06 Javascript
intro.js 页面引导简单用法 分享
2013/08/06 Javascript
JS.GetAllChild(element,deep,condition)使用介绍
2013/09/21 Javascript
页面按钮禁用与解除禁用的方法
2014/02/19 Javascript
javascript中的this详解
2014/12/08 Javascript
简介JavaScript中substring()方法的使用
2015/06/06 Javascript
JavaScript实现输入框(密码框)出现提示语
2016/01/12 Javascript
JavaScript每天必学之事件
2016/09/18 Javascript
微信小程序 rpx 尺寸单位详细介绍
2016/10/13 Javascript
angular2+nodejs实现图片上传功能
2017/03/27 NodeJs
Node.js 基础教程之全局对象
2017/08/06 Javascript
详解vue-cli官方脚手架配置
2018/07/20 Javascript
使用FormData实现上传多个文件
2018/12/04 Javascript
layui 弹出层回调获取弹出层数据的例子
2019/09/02 Javascript
Python的pycurl包用法简介
2015/11/13 Python
详解Python中的array数组模块相关使用
2016/07/05 Python
浅谈Python接口对json串的处理方法
2018/12/19 Python
python算法题 链表反转详解
2019/07/02 Python
如何基于windows实现python定时爬虫
2020/05/01 Python
HTML5新特性之用SVG绘制微信logo
2016/02/03 HTML / CSS
高中军训感想800字
2014/02/23 职场文书
优秀纪检干部材料
2014/08/27 职场文书
政府个人对照检查材料
2014/08/28 职场文书
小学假期安全广播稿
2014/09/28 职场文书
python绘制箱型图
2021/04/27 Python
Spring依赖注入多种类型数据的示例代码
2022/03/31 Java/Android