在Python服务器端获取cookie

1 投票
1 回答
612 浏览
提问于 2025-04-17 03:00

大家好,
我正在按照这里的一个指南进行操作:http://www.doughellmann.com/PyMOTW/Cookie/
这个指南里有一段代码:

c = Cookie.SimpleCookie()
c.load(HTTP_COOKIE)

这段代码是用来获取之前由服务器设置的cookie,但我的服务器没有HTTP_COOKIE这个变量,那我该怎么做呢?
我更希望继续使用上面指南的方法,不过如果有更好的方法,我也愿意考虑一下。
另外,我没有使用任何框架(就只是普通的.py文件),我想保持这种方式。
谢谢!

1 个回答

1

评论中讨论的方法是:

import os
def getcookies():
    cookiesDict = {}
    if 'HTTP_COOKIE' in os.environ:
        cookies = os.environ['HTTP_COOKIE']
        cookies = cookies.split('; ')
        for cookie in cookies:
            cookie = cookie.split('=')
            cookiesDict[cookie[0]] = cookie[1]
    return cookiesDict

这个方法会返回一个字典,里面的内容是 键 -> 值 的形式

cookies = getcookies()
userID = cookies['userID']

当然,你还需要添加错误处理的部分

不过还有其他的方法,比如使用 cookie 模块

撰写回答