Python3如何通过http.cookies创建SimpleCookie实现标准化Cookie管理
Python3 中SimpleCookie是http.cookies标准库提供的官方Cookie处理类,无需额外安装第三方依赖即可使用。
基础操作步骤
- 首先导入对应模块:
from http import cookies
- 实例化
SimpleCookie对象,对应你提供的参考代码:
simple_cookie = cookies.SimpleCookie()
- 像操作字典一样直接赋值新增/修改Cookie键值,你示例中的SESSION设置写法完全正确:
# session_val替换为你实际的会话值即可 session_val = "实际会话内容" simple_cookie['SESSION'] = session_val
- 可选配置Cookie的通用属性,按需设置即可:
- 设置有效期:
simple_cookie['SESSION']['expires'] = 'Fri, 01 Jan 2025 00:00:00 GMT' - 设置作用路径:
simple_cookie['SESSION']['path'] = '/' - 设置作用域名:
simple_cookie['SESSION']['domain'] = '.your-domain.com' - 开启HttpOnly(防止XSS攻击读取Cookie,推荐开启):
simple_cookie['SESSION']['httponly'] = True - 开启Secure(仅HTTPS传输时携带,生产环境推荐开启):
simple_cookie['SESSION']['secure'] = True
- 设置有效期:
常见场景用法
- 获取符合HTTP响应头格式的Cookie字符串,直接转字符串即可,可直接放入接口响应的
Set-Cookie头:
cookie_header = str(simple_cookie) # 输出示例:Set-Cookie: SESSION=xxx; Path=/; HttpOnly
- 解析请求头携带的原始Cookie字符串:
# 假设从请求头拿到的原始Cookie内容为"SESSION=xxx; user_id=123" raw_cookie = "SESSION=xxx; user_id=123" simple_cookie = cookies.SimpleCookie(raw_cookie) # 按键名读取对应值即可 print(simple_cookie['SESSION'].value)
注意事项
- 键名和值如果包含空格、分号等特殊字符,
SimpleCookie会自动做转义处理,无需手动编码 - 需要删除指定Cookie时,只需将对应键的
expires属性设置为过去的时间即可
内容的提问来源于stack exchange,提问作者Stan S.
相关产品推荐
相关产品推荐

