[英]Decode Django session cookie value
我正在通過JavaScript
設置會話 cookie,如下所示:
$('.content li a').on('click', function(e) {
$.cookie.json = true;
var cookie_value = {postid: 1234, commentid: 8999};
$.cookie('my_cookie_key', cookie_value, {path: '/'});
});
當我嘗試在 Python Django 中檢索 cookie 值時,我得到一個這樣的編碼字符串: '"%7B%22postid%22%3A1234%2C%22commentid%22%3A8999%7D"'
使用request.COOKIES.get('my_cookie_key')
我怎樣才能把它變成一個dict
對象,這樣我就可以輕松地檢索 cookie 中的所有值,比如my_cookie_obj.postid
? 我試過解碼字符串,但我認為我做得不對。
該值是簡單的百分比編碼。 只需使用適當的解碼功能,您就應該取回您存儲的內容。
>>> import json
>>> from urllib.parse import unquote
>>> s = unquote("%7B%22postid%22%3A1234%2C%22commentid%22%3A8999%7D")
>>> s
'{"postid":1234,"commentid":8999}'
>>> v = json.loads(s)
>>> v['commentid']
8999
請注意,用戶可以操縱所有 cookie 值,因此在解析/使用這些值時要小心,因為它們是不受信任的內容。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.