玩蛇网提供最新Python编程技术信息以及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()

站长推荐阅读相关内容:
linux基础入门教程

玩蛇网文章,转载请注明出处和文章网址:http://www.iplaypy.com/code/other/o2533.html [复制]



微信扫描下图可直接关注Python公众号

玩蛇网Python QQ群,欢迎加入: ① 279974227 玩蛇网Python新手群
修订日期:2016年03月24日 - 16时08分10秒 发布自玩蛇网

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