2012-03-28 63 views
0

我需要爲FireFox瀏覽器創建/更新/刪除cookie。這個cookie是一個客戶端cookie,因爲它必須由C++可執行文件創建,並且將存在於最終用戶機器上。獨立/外部C++可執行文件或JavaScript可以爲Firefox創建Cookie嗎?

我該如何做到這一點?

謝謝

+0

這根本不會好。如果您需要cookie訪問/控制,它應該來自網絡而不是應用程序。毫無疑問,這是間諜軟件,廣告軟件或極限軟件。不能相信想要在本地管理「自己的Cookie」的應用程序。沒辦法,沒有辦法。 – 2012-03-31 07:08:01

+0

您正在要求訪問專用數據庫先生。如果沒有通過私人數據挖掘,有幾千種不同的方式可以實現「可觀的」結果。 – 2012-03-31 07:11:57

回答

2

你基本上有兩種選擇:

  • 你試圖操縱Firefox的數據(文件cookies.sqlite)直接。這是一個相當簡單的SQLite數據庫,所以沒有什麼複雜的。但是,catch 1:在Firefox運行時無法完成。另外,catch 2:格式可能會在將來發生變化(如前所述),並且您的應用程序將停止工作,或者更糟糕的是,會中斷文件。
  • 你可以從Firefox內部完成。例如,您將編寫一個bootstrapped extension,它將使用nsICookieManager2 interface添加該cookie,然後Add-on Manager API在此之後立即卸載。然後,您的應用程序只需要通過命令行firefox -url file:///path/to/extension.xpi運行Firefox(即使Firefox已經運行,也可以運行)。這裏的問題:用戶需要確認擴展安裝。所以你不能在背後做,你需要解釋發生了什麼,爲什麼。
+0

C++ exeutable需要與Firefox保持聯繫,因爲它必須隨時更新/刪除Cookie,具體取決於不同的條件。例如,如果用戶閒置5分鐘,則C++可執行文件應刪除此cookie。我正在考慮使用SPIDERMONKEY這種方式,無論JavaScript將被執行,它都將在FireFox中執行。但不知道它是否會起作用。 – dpb 2012-03-28 09:30:05

+0

要執行「Firefox內部」,您需要一個擴展名,請參閱選項2.如果您需要知道Firefox內部發生了什麼,那麼這是唯一的選擇。 – 2012-03-28 09:34:41

+0

對不起,我是Firefox新手。我沒有得到如何保持C++可執行文件和Firefox之間的通信。如果你能指點我一些關於簡單引導擴展的教程,它會有很大的幫助。 – dpb 2012-03-28 09:41:58

相關問題