浏览器未存储我的 Cookie

浏览器未存储我的 Cookie

我的挑战是将我的 cookie 与有效载荷一起发送。我只是将 cookie 添加到现有且正在运行的程序中。有效载荷(歌曲)可以顺利到达那里。而且,我在浏览器控制台上没有收到任何错误。

我似乎能够顺利地发送 cooke 以及我的 JSON 数据。

当我在 Chrome 的开发者工具中查看标头时,我看到了 Cookie。但是,当我在“应用程序”>>“Cookie”选项卡中查找 Cookie 时,却什么也没有。因此,似乎发送了 Cookie 标头,但客户端并未存储它。

并且,在客户端.... document.cookie 为空。

我的测试代码正在创建一个名为 sessionID 的 cookie。

这是 Chrome 中的响应标头:您可以看到我的假 sessionID cookie:Access-Control-Allow-Credentials:true

Access-Control-Allow-Origin:null

Content-Type:text/plain

Date:Wed, 23 Nov 2016 22:41:10 GMT

Server:BaseHTTP/0.6 Python/3.5.2

Set-Cookie:sessionID=4jjdd7ghhq

以下是显示无 Cookies 的屏幕截图。应用程序中没有 cookies

这是我的服务器代码,用 Python3 编写:

def do_OPTIONS(self):
    self.send_response(200)       
    self.send_header("Access-Control-Allow-Origin", self.headers["Origin"])
    self.send_header("Access-Control-Allow-Credentials", "true")            
    self.send_header('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, OPTIONS')
    self.send_header('Access-Control-Allow-Headers', 'Content-Type')
    self.end_headers()
    return

def do_GET(self):
    if self.path.startswith("/songs/ID"):
        self.load_cookie()
        db=MediaDB()
        ID = self.parseID(self.path)
        song = db.getSong(ID)
        self.send_response(200)
        self.send_header('Access-Control-Allow-Origin', self.headers["Origin"])
        self.send_header("Access-Control-Allow-Credentials", "true") 
        self.send_header("Content-Type", "text/plain")      
        self.cookie["sessionID"] = "4jjdd7ghhq"
        self.send_cookie()
        self.end_headers()
        json_string = json.dumps(song)
        self.wfile.write(bytes(json_string, "utf-8"))
    elif self.path.startswith("/songs"):
        self.getSongs()
        return
    else:
        self.badPath()
        return  


def load_cookie(self):
    if "Cookie" in self.headers:
        self.cookie = cookies.SimpleCookie(self.headers["Cookie"])
    else:
        self.cookie = cookies.SimpleCookie()
    return

def send_cookie(self):
    for morsel in self.cookie.values():
        self.send_header("Set-Cookie", morsel.OutputString())
    return

================

我的搜索毫无进展。如果有什么可以帮助我的东西,我非常感谢你指出这一点。哦,顺便说一句,我的脸皮很厚,所以如果我做了一些愚蠢的事情 - 指出来是可以的......我必须以某种方式学习。哈哈!

此外,如果您想知道是否是因为当客户端和主机位于同一系统上时 Chrome 有时不会设置 cookie,我已经对此进行了测试,服务器位于远程系统上,客户端位于我的本地主机上。

再次感谢您的帮助。

相关内容