在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并在客户端成功获取。
答案 0 :(得分:1)
Cookie是URL编码的。试试这个:
import urllib
clist_str = urllib.unquote(clist_str)
如果cookie仍被截断,则可能是webapp2中的错误。它似乎在方括号上打破:[]
。您可能必须直接从标头中提取cookie,而不是使用cookies
属性。