如何提取Firefox会话Cookie(优先使用Python)
我正在尝试从Firefox的数据库(cookies.sqlite)中提取cookie。不过,似乎只能找到那些有过期日期的cookie(我在找的是会在会话结束时过期的cookie)。我甚至还开启了Firefox的“记住打开的标签页”功能。 我不明白——它们之间到底有什么根本的区别。 我在Firefox的界面上能看到这个cookie,但在硬盘上找不到。
任何回答都很感谢。
4 个回答
1
Farlan说得对,会话 cookies 是存储在 sessionstore.js 这个文件里的。我创建了一个模块,可以从 sqlite 和这个会话文件中加载 cookies,具体内容可以在这里找到:https://bitbucket.org/richardpenman/browser_cookie/
使用示例:
import requests
import browser_cookie
cj = browser_cookie.firefox()
r = requests.get('http://stackoverflow.com', cookies=cj)
1
我也在找同样的东西,结果发现了这个链接:http://blog.mithis.net/archives/python/90-firefox3-cookies-in-python。我想正确的做法是用这段代码来添加另一个cookiejar后端。
7
会话 cookie 存储在 sessionstore.js
文件里。
这个文件其实就是一个 JSON 对象。如果你解析这个文件,可以在 windows[0].cookies
下面找到一个会话 cookie 的数组。
通常每个会话 cookie 里只有 {name, host, path, value}
这些字段,但有时候你会看到一个 httpOnly
参数。