【发布时间】:2016-09-20 20:58:42
【问题描述】:
我有以下由 curl 保存的 cookie(在 test.txt 中,制表符分隔,此编辑器不保留制表符):
# Netscape HTTP Cookie File
# http://curlm.haxx.se/rfc/cookie_spec.html
# This file was generated by libcurl! Edit at your own risk.
#HttpOnly_my-example.com FALSE / FALSE 0 _rails-root_session test
我正在尝试使用以下代码阅读它:
import sys
if sys.version_info < (3,):
from cookielib import Cookie, MozillaCookieJar
else:
from http.cookiejar import Cookie, MozillaCookieJar
def load_cookies_from_mozilla(filename):
ns_cookiejar = MozillaCookieJar()
ns_cookiejar.load(filename, ignore_discard=True)
return ns_cookiejar
cookies = load_cookies_from_mozilla("test.txt")
print (len(cookies))
它输出 0(无法读取 cookie)。 如果我手动将我的 cookie 修改为以下行(删除 HttpOnly 标志并将 0 更改为过期时间的空字符串,并且再次以制表符分隔):
my-example.com FALSE / FALSE _rails-root_session test
然后它输出 1(成功读取 cookie)。
需要对我的 python 代码执行什么操作才能读取原始 cookie 行?并且最好能够以相同的格式保存它(使用 HttpOnly 标志和 0 而不是空字符串以表示永不过期的 cookie)?
谢谢。
【问题讨论】: