2015-06-26 100 views
0

要求:寫入Cookie的編程Safari瀏覽器

在Mac上,寫在Safari瀏覽器cookie來在啓動特定域。

到目前爲止,我能想到的選擇是。

1 Safari瀏覽器的cookie文件

在啓動時,直接寫入cookie來位於~/Library/Cookies/Cookies.binarycookies Safari的二進制文件。但是,我不知道這是否可能,並且找不到任何文檔。我不願意嘗試這個文件有一個校驗和反對它。

2.獲取Safari瀏覽器來設置它

在啓動時,使用AppleScript,推出Safari瀏覽器默默地/隱藏,然後導航到設置cookie的站點。

  • 有沒有其他方法可以做到這一點?
  • 我如何使用AppleScript靜靜地使用AppleScript並導航到網址?
  • 如何以編程方式將上述AppleScript註冊爲啓動時啓動 。

我主要是一個C#窗口開發人員,所以我在這裏有一點不適合我的舒適區。

回答

2

由於cookie在OS X上是全局共享的,因此您可以使用這一點AppleScript/ObjC從網站添加Cookie,方法是將該網站加載到一個不可見的WebView中,一旦加載完成, cookies已被保存。請注意,您必須從腳本編輯器的文件菜單中的「從模板中新建」菜單中創建一個「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 
+0

你先生,是英雄。 – heymega

+0

我將此添加到啓動代理,它工作得很好。我修改了它,所以它不顯示消息,只是靜靜地結束,但它簡短地顯示了碼頭中的應用程序圖標。無論如何要壓制這個? – heymega

+0

當然。請按照以下網址中的步驟操作:http://www.maclife.com/article/columns/easy_mac_hacks_run_os_x_applications_without_their_dock_icon –