使用browser_cookie3调用Chrome Cookie时出现解密密钥获取失败错误
问题场景
执行以下代码读取指定域名的Chrome Cookie时:
my_domain = 'www.xxx.com' browser_cookie3.chrome(domain_name=my_domain)
出现解密密钥获取失败的错误:
Traceback (most recent call last): File "/Users/create_cookies.py", line xx, in main x = browser_cookie3.chrome(domain_name=my_domain) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/python311/lib/python3.11/site-packages/browser_cookie3/__init__.py", line 1160, in chrome return Chrome(cookie_file, domain_name, key_file).load() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/python311/lib/python3.11/site-packages/browser_cookie3/__init__.py", line 515, in load value = self._decrypt(value, enc_value) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/python311/lib/python3.11/site-packages/browser_cookie3/__init__.py", line 585, in _decrypt raise BrowserCookieError('Unable to get key for cookie decryption') browser_cookie3.BrowserCookieError: Unable to get key for cookie decryption
环境信息:
- Chrome版本:130.0.6723.70
- Python版本:3.11.9
- browser_cookie3版本:0.19.1
解决方法
1. 赋予程序足够的磁盘访问权限
Chrome的加密密钥存储在系统安全目录,需要当前用户拥有读取权限:
- macOS:在「系统设置→隐私与安全性→完全磁盘访问权限」中,添加你的终端或代码编辑器
- Windows:以管理员权限运行Python脚本
- Linux:检查
~/.config/google-chrome/目录的权限,确保当前用户可读
2. 更新browser_cookie3到最新版本
旧版本可能不兼容新版Chrome的加密逻辑,执行更新命令:
pip install --upgrade browser_cookie3
3. 手动指定Chrome密钥文件路径
如果自动检测失效,手动传入密钥文件路径:
- macOS:
~/Library/Application Support/Google/Chrome/Default/Local State - Windows:
C:\Users\<你的用户名>\AppData\Local\Google\Chrome\User Data\Local State - Linux:
~/.config/google-chrome/Local State
修改代码示例:
import browser_cookie3 my_domain = 'www.xxx.com' key_file = '/Users/你的用户名/Library/Application Support/Google/Chrome/Default/Local State' cookies = browser_cookie3.chrome(domain_name=my_domain, key_file=key_file)
4. 临时关闭Chrome同步功能
开启Chrome同步时,加密密钥可能由云端管理,本地无法读取。关闭同步后重新登录Chrome,再尝试读取Cookie。
5. 关闭Chrome后再执行脚本
Chrome运行时可能会锁定密钥文件,导致无法读取,关闭Chrome后重新运行脚本试试。
内容的提问来源于stack exchange,提问作者S_S
相关产品推荐
相关产品推荐

