我正在使用来自我的python后端的'Set-Cookie'标头响应来存储Web应用程序的Cookie。
在Chrome和Safari中的开发人员工具中,当我寻找cookie时,cookie不会显示。
在Chrome上,Set-Cookie甚至不会出现在网络呼叫的响应标题中。
在Safari中,会显示Set-Cookie响应标头,并显示在请求/响应Cookie下,
但是当我检查该应用程序的cookie时,什么都没有显示。

此外,Safari中显示的cookie数据是不正确的:它显示了不正确的到期日期和httpOnly / secure,两者都应为true。
cookie似乎不存在,但是当我登录服务器时,我清楚地看到cookie存在并且它们出现了
(Safari也会在请求/响应标头中显示它们来回移动),这意味着cookie被正确存储并在标头中的每次调用后发送回服务器。我之前尝试将httpOnly设置为false并将安全性设置为false,但是即使那样,cookie仍表现出相同的行为。
这些cookie仍处于两个开发人员工具的监视之下。如何在开发人员工具中正确查看浏览器中的cookie?那这个问题可能是什么呢?
javascript cookies ajax google-chrome-devtools safari-web-inspector
我使用后端制作的 set-cookie 标头在设备上设置安全的、仅限 http 的 cookie。这在桌面 Safari、Chrome、FF、IE 等上非常有效。这也适用于 Android Chrome。但是,当我尝试在移动 Safari 或 Chrome 中的 iOS 网络应用程序中运行完全相同的代码时,请求中没有发送 cookie,并且我的网络应用程序无法运行。
我尝试查看其他堆栈溢出答案和问题,并尝试修改我的设置并测试是否有几种不同的 iOS 设备。我希望我的网络应用程序在不修改默认 iOS Safari 设置的情况下工作。我真的不明白为什么 iOS 不工作......因为这种行为似乎是前所未有的。
(授权.py)
#creates the cookie string for the response
def setCookie(name, value, expires='', domain=None,
secure=False, httponly=False, path=None):
morsel = cookies.Morsel()
# morsel.set(name, value, quote(value))
morsel.set(name, value, value)
expires = datetime.utcnow() + timedelta(days=365)
expireStr = expires.strftime("%a, %d %b %Y %X GMT")
print(expireStr)
morsel['expires'] = expireStr
if path:
morsel['path'] = path
if domain:
morsel['domain'] = domain …Run Code Online (Sandbox Code Playgroud)