2014-12-02 24 views
5

在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时,没有有趣的文件发生变化。

+0

我被困在同样的事情上。根据我的理解,Cookies.binarycookies文件存储cookie。我删除了这个文件,它又回来了(不知道从哪里来!) – Umang 2014-12-18 12:06:31

+0

我知道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

回答

3

我觉得苹果脚本是走这里的路,看看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 
1

有点晚了,我知道,但我做了RemoveCookie,一个命令行实用程序,删除Safari的Cookie。非常简单,它使用NSHTTPCookieStorage API,任何想要管理Safari cookie的人都会觉得有用。

相关问题