簡體   English   中英

解碼 Django 會話 cookie 值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM