如何从命令行重置 Safari 8 cookie?

如何从命令行重置 Safari 8 cookie?

如何从命令行重置 Safari 8 cookie?

我已阅读该问题从命令行重置 Safari该方法似乎对 Safari 7 运行良好,但对 Safari 8(在 Mac OS X Yosemite 上)似乎不再适用。

看起来这~/Library/Caches/com.apple.Safari/是 Safari 存储文件的位置,但如果我退出 Safari,删除该目录,然后重新启动 Safari,原来的文件就会回来。Safari 肯定也将数据存储在其他地方 - 但我找不到这个位置。

我也尝试过做killall cookiedkillall -9 cookiedSafariNotificationAgent,但似乎没有效果。

我曾尝试观察 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。

相关内容