我有一個主窗口,在它裏面,我有一個QWebView。 我想讓一個特定的網站(例如www.kdkdkkd.com)爲cookies,因此每次用戶關閉並重新打開瀏覽器時,他都不需要再次登錄。Qt WebKit和永久餅乾
謝謝,
我有一個主窗口,在它裏面,我有一個QWebView。 我想讓一個特定的網站(例如www.kdkdkkd.com)爲cookies,因此每次用戶關閉並重新打開瀏覽器時,他都不需要再次登錄。Qt WebKit和永久餅乾
謝謝,
您需要設置自己的「Cookie Jar」。
QNetworkAccessManager::setCookieJar
。QNetworkCookieJar
- 因爲它關閉瀏覽器時默認不堅持餅乾:一旦
QNetworkCookieJar
對象 刪除,它持有的所有cookies將被丟棄 也。如果您想要保存 的Cookie,您應該從 這個類派生出來並實現將保存到 的磁盤轉換爲您自己的存儲格式。 (從QNetworkCookieJar
documentation)
您可以通過推到永久存儲在每個QNetworkCookieJar::setCookiesFromUrl
(最安全的,但最慢),或者僅在關閉瀏覽器窗口(整體速度較快,但不太安全的,因爲如果你退出異常餅乾做到這一點罐子不會被保存)。
請注意,some cookies不應該被持續,您可以使用QNetworkCookie::isSessionCookie
來確定這一點。
一旦在NAM(NetworkAccessManager)登記保存cookie,設置web視圖使用它:
myWebView->page()->setNetworkAccessManager(myNAM);
請考慮改進格式並且有點描述性。 – nikhil 2012-10-11 17:59:57
有一個正式的Qt演示,被稱爲 「Browser」。它實現了一個CookieJar類,它支持使用QSettings堆棧將Cookie保存並加載到.ini文件。
鏈接將有所幫助。 – freakTheMighty 2013-06-21 19:45:49
我相信你的意思是:QNetworkCookieJar :: setCookiesFromUrl我會檢查這一點。 – snoofkin 2011-03-23 16:27:51
的確,修正後的 – 2011-03-25 00:14:20
可以請您解釋一下代碼,我無法存儲cookies – tharunkumar 2016-05-11 10:44:39