要求:
在Mac上,在启动时将Safari中的cookie写入特定域。
到目前为止,我能想到的选择是。
1。 Safari的cookie文件
启动时,将cookie直接写入位于~/Library/Cookies/Cookies.binarycookies
的Safari的二进制文件中。但是,我不知道这是否可行,并且无法找到任何文档。我不愿意尝试这个,因为文件对它有校验和。
2。让Safari设置
启动时,使用AppleScript,静默启动/隐藏Safari并导航到设置cookie的网站。
我主要是一名c#windows开发人员,所以我在这里有点不舒服。
答案 0 :(得分:2)
由于cookie是在OS X上全局共享的,因此您可以使用AppleScript / ObjC这一点来添加网站中的cookie,方法是将网站加载到一个不可见的WebView中,该WebView只在加载完成后才会被释放,以及Cookie已被保存。请注意,您必须从“脚本编辑器”的“文件”菜单中的“从模板新建”菜单中创建“Cocoa-AppleScript Applet”。
display alert set_cookies_for_URL("http://www.apple.com")
(* AppleScript's handlers all seem to become unusable after importing frameworks.
* To compensate, I'm relegating AppleScript/ObjC calls to the end of the file
*)
use framework "WebKit"
on set_cookies_for_URL(URL)
set web_view to current application's WebView's alloc()'s initWithFrame:(current application's NSMakeRect(0, 0, 500, 500)) frameName:"tempFrame" groupName:"tempGroup"
set web_view's mainFrameURL to URL
#delay to avoid release
repeat while ((web_view's isLoading) as boolean) is true
delay 1
end repeat
return "done"
end set_cookies_for_URL