メインウィンドウがあり、その中に単一の QWebView があります。特定の Web サイト (たとえば、www.kdkdkkd.com) の Cookie を永続的にしたいので、ユーザーがブラウザーを閉じて再度開くたびに、再度ログインする必要はありません。
ありがとう、
独自の「Cookie Jar」を設定する必要があります。
QNetworkAccessManager::setCookieJar
ます。QNetworkCookieJar
- ブラウザーを閉じたときにデフォルトで Cookie を保持しないため:オブジェクトが削除されると、
QNetworkCookieJar
オブジェクトが保持していたすべての Cookie も破棄されます。Cookie を保存する場合は、このクラスから派生させ、ディスクへの保存を独自のストレージ形式に実装する必要があります。(QNetworkCookieJar
ドキュメンテーションより。)
これを行うには、それぞれの永続的なストレージにプッシュするQNetworkCookieJar::setCookiesFromUrl
(最も安全ですが最も遅い) か、ブラウザー ウィンドウを閉じたときにのみ (全体的には高速ですが、Cookie jar が保存されずに異常終了したかのように安全性が低くなります) のいずれかを行うことができます。
一部の Cookieは永続化されないことに注意してください。これを使用QNetworkCookie::isSessionCookie
して決定できます。
「ブラウザ」と呼ばれる公式のQtデモがあります。これは、QSettingsスタックを使用して.iniファイルへのCookieの保存とロードをサポートするCookieJarクラスを実装します。
NAM(NetworkAccessManager)にCookieが登録されたら、それを使用するようにWebビューを設定します。
myWebView->page()->setNetworkAccessManager(myNAM);