如何以编程方式删除OS X 10.10(优胜美地)的Safari 8.0中的cookie
问题描述:
在OS X 10.10.1(优胜美地)的Safari 8.0(10600.1.25.1)中,我访问了google.com,apple.com, facebook.com,然后点击“Safari” - >“首选项...” - >“隐私” - >“详细信息...”,然后可以看到cookie。如何以编程方式删除OS X 10.10(优胜美地)的Safari 8.0中的cookie
然后我完全退出Safari(实际上退出,只需关闭窗口),然后使用以下命令删除以下内容。
rm -r ~/Library/Caches/com.apple.Safari/ rm -r ~/Library/Cookies rm -r ~/Library/Safari
当我重新启动Safari浏览器,饼干仍然存在,我仍然登录到存储登录后一个cookie网站。
我需要删除哪些文件,或者我需要做些什么才能让Safari实际删除Cookie?
我需要能够移动/重命名文件/目录,然后再将它们移回。可可饼干可以删除饼干(http://ditchnet.org/cocoacookies/),当我使用fswatch时,没有有趣的文件发生变化。
答
我觉得苹果脚本是走这里的路,看看the linked blog entry here。下面我复制了谷歌脚本示例。
1 set deCookie to {"nytimes.com", "go.com", "cnn.com"}
2
3 tell application "System Events"
4 tell process "Safari"
5 keystroke "," using command down
6 delay 1
7 tell window 1
8 click button "Privacy" of tool bar 1
9 delay 3
10 repeat with d in deCookie
11 click button "Details…" of group 1 of group 1
12 try
13 keystroke d
14 delay 1
15 select row 1 of table 1 of scroll area 1 of sheet 1
16 click button "Remove" of sheet 1
17 end try
18 click button "Done" of sheet 1
19 end repeat
20 end tell
21 keystroke "w" using command down
22 end tell
23 end tell
答
有点晚了,我知道,但我做了RemoveCookie,一个命令行实用程序,删除Safari的Cookie。非常简单,它使用NSHTTPCookieStorage API,任何想要管理Safari cookie的人都会觉得有用。
我被困在同样的事情上。根据我的理解,Cookies.binarycookies文件存储cookie。我删除了这个文件,它又回来了(不知道从哪里来!) – Umang 2014-12-18 12:06:31
我知道cookies存储在'〜/ Library/Cookies/Cookies.binarycookies'中。 我做了一个解析和过滤safari cookie的脚本。然而,在10.10之后,对该文件所做的每一项更改似乎都被完全忽略,甚至将其删除。 看来他们被缓存在其他地方,但我不知道在哪里。 我知道的唯一方法是使用官方[api](https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSHTTPCookieStorage_Class/index.html#//apple_ref/OCC/CLM/NSHTTPCookieStorage/sharedHTTPCookieStorage) – Rnhmjoj 2015-01-20 14:14:37