Python解析set-cookie标头

时间:2014-03-18 23:08:48

标签: python http cookies

在PHP中,我发送一个带有安全和仅http标志的cookie,以及其他没有

的cookie
setcookie("c2","value");
setcookie("c1","value", 0, "/", "", true, true);

它产生标题

Set-Cookie: c2=value, c1=value; path=/; secure; httponly

在萤火虫中我可以看到,这没关系(c1安全标志为True,c2为假)

我想知道其中哪一个没有使用安全标志 我的python代码:

cookies = Cookie.SimpleCookie()
cookies.load(headers['set-cookie'])
print cookies

Output:
Set-Cookie: c1=value; Path=/\\r\\nSet-Cookie: c2=value

标题[' set-cookie'] 确实包含原始的set-cookie标题,它没问题 根据python文档打印(处理为字符串),SimpleCookie实例应该创建set-cookie标头。重点是,解析原始标题后缺少某些东西。 Morsels还包含错误的值(仅限安全和http)。

这是某种错误配置还是python库中的错误? 谢谢:))

1 个答案:

答案 0 :(得分:1)

这可能有点晚了,但看到了你的问题并认为你可能仍然需要帮助。 我用来读取cookie的代码是:

import Cookie,os
def getCookieData():
    try:
        cookie = Cookie.SimpleCookie(os.environ["HTTP_COOKIE"])
        session = cookie['usrSession'].value
        return session
    except (Cookie.CookieError, KeyError):
        return None

我的cookie字符串符合以下内容:

Cookie: usrSession=12345

希望这有帮助