自动读取浏览器cookie
rachpt opened this issue · 6 comments
可以加上自动读取 chrome firefox edge opera 浏览器蓝奏cookie的功能。
使用 browser_cookie3 这个模块。
原代码在Macos 打包 app 后不正常工作,我修改后可以正常工作:https://github.com/rachpt/lanzou-gui/blob/master/lanzou/browser_cookie3_n.py
def get_cookie_from_browser(site='https://pc.woozooo.com'):
"""直接读取浏览器的 cookie 数据库,优先返回 Firefox cookie,最后为 Chrome
"""
cookie = {}
domain = re.match(r".*://([^/]+)/?", site)
domain = domain.groups()[0]
domain = domain.split(".")
domain = ".".join(domain[-2:])
cookies = browser_cookie3.load(domain_name=domain)
for c in cookies:
if c.domain in site:
if c.name in ("ylogin", 'phpdisk_info'):
cookie[c.name] = c.value
return cookie
good idea👍 这就加上
在我电脑上面似乎没用, 有空再折腾下
ok, 加上了~
browser_cookie3
在读取浏览器的用户数据时, 使用的是 ../User Data/Default/...
路径下的配置, 但是现在不少浏览器是一个 User 一个文件夹, 比如 Chromium Edge.
添加了对 ../User Data/Profile N/...
和 ../User Data/Guest Profile/
下配置文件的扫描.
关于 cookie 读取的顺序问题, 我这边改成了: 找到第一个满足 domain_name
和 我们要求的 keys
的浏览器 Cookie, 防止其它浏览器登录过, 但是没有我们想要的数据.
此外, 我在 Ubuntu 20.04.2 LTS 虚拟机什么跑, 会出现
似乎是 GNOME Keyring 的问题, 这个地方不用 keyring 好像也没问题.
抛出来的 dbus.exceptions.DBusException
eyring.errors.InitError
都继承自 Exception
, 原作者在这里捕获 RuntimeError
似乎范围不够
你好,很幸运遇到了这样有想法的软件,但是我在使用过程中遇到了问题,读取edge的cookie一直显示失败,当我调用开发者页面输入相应的数据后还是显示失败是为什么?我的电脑系统是windows10
Edge 最近的新版本开始不允许浏览器运行时复制或访问 Cookies
了,建议仅保留 Firefox.
Mac上读取不了cookie,要怎么操作?谢谢