玩蛇网提供最新Python编程技术信息以及Python资源下载!

如何让Cookie.py模块用冒号做key

python 培训

python的Cookie.py模块本是不支持冒号做key的,那么要如何解决这个问题呢?虽然Cookie的标准是不允许:冒号出现在key里面的,还是任何难题也难不住我们的程序员们。 为了做好兼容性,只能选择兼容:冒号。 很简单的,修改一下Cookie.Morsel就可以了。

如何让Cookie.py模块用冒号做key,方法源码如下:(供参考)

#!/usr/bin/python
# -*- coding: utf-8 -*-

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)

#www.iplaypython.com    
Cookie.Morsel = MorselHook

# 在你需要使用到Cookie的地方先让上面的代码执行一遍


if __name__ == '__main__':
    import doctest
    doctest.testmod()

玩蛇网原创,转载请注明文章出处和来源网址:http://www.iplaypython.com/code/other/o2533.html



微信公众号搜索"玩蛇网Python之家"加关注,每日最新的Python资讯、图文视频教程可以让你一手全掌握。强烈推荐关注!

微信扫描下图可直接关注

玩蛇网Python新手QQ群,欢迎加入: ① 240764603 玩蛇网Python新手群
文章发布日期:2016-03-24 16:08 玩蛇网 www.iplaypython.com

评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
相关文章推荐
别人正在看
特别推荐
去顶部去底部