如何从命令行重置 Safari 8 cookie?
我已阅读该问题从命令行重置 Safari该方法似乎对 Safari 7 运行良好,但对 Safari 8(在 Mac OS X Yosemite 上)似乎不再适用。
看起来这~/Library/Caches/com.apple.Safari/
是 Safari 存储文件的位置,但如果我退出 Safari,删除该目录,然后重新启动 Safari,原来的文件就会回来。Safari 肯定也将数据存储在其他地方 - 但我找不到这个位置。
我也尝试过做killall cookied
和killall -9 cookied
杀SafariNotificationAgent
,但似乎没有效果。
我曾尝试观察 Safari 正在访问哪些文件,sudo fs_usage Safari
但这也没有给我带来太多帮助。
我还研究了一些可以产生相同结果但没有运气的“替代方案”:
- 以隐私浏览模式启动 Safari 的一种方法(只找到一种 hacky applescript 方法来做到这一点)
- 一种在退出时清除所有 cookie 的方法 - 也许是一个扩展?(这个也没有运气)
上面链接中的方法在 Safari 7 上可以正常运行。
Safari 8 怎样才能实现同样的事情呢?
答案1
文章通过 AppleScript 删除 Safari Cookie建议使用此脚本删除三个特定网站的 cookie:
set deCookie to {"nytimes.com", "go.com", "cnn.com"}
tell application "System Events"
tell process "Safari"
keystroke "," using command down
delay 1
tell window 1
click button "Privacy" of tool bar 1
delay 3
repeat with d in deCookie
click button "Details…" of group 1 of group 1
try
keystroke d
delay 1
select row 1 of table 1 of scroll area 1 of sheet 1
click button "Remove" of sheet 1
end try
click button "Done" of sheet 1
end repeat
end tell
keystroke "w" using command down
end tell
end tell
该脚本编写于 2013 年,可能需要适应 Safari 8。
答案2
我已经有一段时间没用过 OS X 了,但过去你可以通过删除应用程序本身内的文件来获取 cookie。你在Safari.app
目录中搜索过吗?找到其中的本地存储并删除之前要删除的目录,然后启动 Safari。