gpt4 book ai didi

python - Flask session 忘记请求之间的条目

转载 作者:太空狗 更新时间:2023-10-29 20:52:14 25 4
gpt4 key购买 nike

我正在使用最新的 Flask/Werkzeug (Flask 0.9) 客户端 session 来保存请求之间的信息。 session 未设置为持久性(因为我同意在浏览器关闭时删除 cookie)。

我的问题如下:

我使用一些服务器端代码用一个条目填充 Flask session 变量。在此之后,Session 变量看起来像这样:

<SecureCookieSession {u'items': SOMENOTVERYIMPORTANTDICTIONARY}, '_fresh': True, 'user_id': u'1', 'csrf': '0aef1995cdf2cxx0233fdf3321d17fc7267f3b32', '_id': 'someUNIQUEcode'}*>

我使用此信息来呈现一个页面,该页面执行 GET 请求(通过 JQuery)到同一个 Flask 应用程序,但突然包含 session 中“项目”条目的字典消失了:

<SecureCookieSession {'_fresh': True, 'user_id': u'1', 'csrf': '0aef1995cdf2cxx0233fdf3321d17fc7267f3b32', '_id': 'someUNIQUEcode'}>

我四处搜索了一下,认为这可能与我在本地主机上进行测试有关(127.0.0.1 与本地主机不同)。我修复了我的主机文件并添加了一个“dev.localhost”条目以确保所有请求都来自同一主机。

此外,我的浏览器 (Chrome) 的开发人员面板显示了与发送到服务器的 session cookie 完全相同的标识符。

此外,设置 session.modified = True 也没有帮助。

请求之间唯一发生变化的是

__utmb=122666782.18.10.1363877633

对于第一个请求(填充 items 条目的请求)与第二个请求

__utmb=122666782.19.10.1363877633

认为它仍然可能是与 Ajax 相关的东西。我在简单的页面重新加载后测试了 session 变量的内容:items 条目仍然从 session 中消失。

如有任何帮助,我们将不胜感激。

最佳答案

事实证明,发送回客户端 (Chrome) 的 cookie 超过了 4096 字节的 cookie 大小限制。显然 Django 默认使用服务器端 session ,这使得这个问题只有在我将代码移至 Flask 时才会出现。在 Flask 中使用服务器端 session ,例如 flask-kvsession其他人应该解决这个问题。

关于python - Flask session 忘记请求之间的条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15552418/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com