【问题标题】:webapp2 incomplete cookie retrievalwebapp2不完整的cookie检索
【发布时间】:2013-06-25 18:21:41
【问题描述】:

就在 cookie 检索之前,打印标题(在服务器端,使用 Python)产生,仅显示“Cookie”部分:

'Cookie': 'clist={%22config_dict%22:{%22OSLO%22:{%22cstate%22:%22EXP%22}}%2C%22table_order%22:[%22OSLO%22]}'

但是,在clist_str = self.request.cookies.get('clist') 和打印clist_str 之后,cookie 值被截断,如下所示:

{%22config_dict%22:{%22OSLO%22:{%22cstate%22:%22EXP%22}}%2C%22table_order%22:

为了可读性,为了它的价值,预期的 cookie 值为:

{"config_dict":{"OSLO":{"cstate":"EXP"}},"table_order":["OSLO"]}

但我们得到了

{"config_dict":{"OSLO":{"cstate":"EXP"}},"table_order":

改为。

关于如何解决这个问题的任何想法?完整的 cookie 在请求标头中,但 webapp2 似乎无法正确检索 cookie。附带说明一下,可以使用 JavaScript 在客户端成功设置和获取 cookie。

【问题讨论】:

    标签: javascript python cookies http-headers webapp2


    【解决方案1】:

    cookie 是 URL 编码的。试试这个:

    import urllib
    clist_str = urllib.unquote(clist_str)
    

    如果 cookie 仍然被截断,则可能是 webapp2 中的错误。看起来它在方括号上中断:[]。您可能必须直接从标头中提取 cookie,而不是使用 cookies 属性。

    【讨论】:

    • 我知道这一点,并且在获取 cookie 之后和 json.loads() 之前就有取消引用代码。如stackoverflow.com/questions/11816196/… 中所述,采用了自定义的 get_cookie() 方法。可能是 webapp2 中的错误。
    猜你喜欢
    • 1970-01-01
    • 2021-03-09
    • 2014-01-21
    • 1970-01-01
    • 2019-12-25
    • 2019-08-28
    • 2011-11-21
    • 2012-03-17
    • 1970-01-01
    相关资源
    最近更新 更多