QWebEngineCookieStore Class

QWebEngineCookieStore クラスは Chromium のクッキーへのアクセスを提供します。詳細...

Header: #include <QWebEngineCookieStore>
CMake: find_package(Qt6 REQUIRED COMPONENTS WebEngineCore)
target_link_libraries(mytarget PRIVATE Qt6::WebEngineCore)
qmake: QT += webenginecore
Inherits: QObject

パブリック型

struct FilterRequest

パブリック関数

virtual ~QWebEngineCookieStore()
void deleteAllCookies()
void deleteCookie(const QNetworkCookie &cookie, const QUrl &origin = QUrl())
void deleteSessionCookies()
void loadAllCookies()
void setCookie(const QNetworkCookie &cookie, const QUrl &origin = QUrl())
void setCookieFilter(const std::function<bool (const FilterRequest &)> &filterCallback)
void setCookieFilter(std::function<bool (const FilterRequest &)> &&filterCallback)

シグナル

void cookieAdded(const QNetworkCookie &cookie)
void cookieRemoved(const QNetworkCookie &cookie)

詳細な説明

このクラスを使用すると、特定のプロファイルの Chromium の HTTP クッキーにアクセスできます。このクラスは、ChromiumとQNetworkAccessManager のクッキーを同期させたり、ナビゲーション中にクッキーを設定、削除、傍受したりするために使用できます。クッキーの操作は非同期なので、ユーザは操作の成功を通知するコールバック関数を提供することができます。削除と追加のためのシグナル・ハンドラは、ブロッキング接続の場合に IO スレッドをブロックするかもしれないので、重いタスクを実行するために使うべきではありません。

特定のプロファイルのクッキーストア・オブジェクトにアクセスするには、QWebEngineProfile::cookieStore() とQQuickWebEngineProfile::cookieStore() を使用してください。

メンバ関数 ドキュメント

[virtual noexcept] QWebEngineCookieStore::~QWebEngineCookieStore()

このQWebEngineCookieStore オブジェクトを破棄する。

[signal] void QWebEngineCookieStore::cookieAdded(const QNetworkCookie &cookie)

このシグナルは、新しいcookie がクッキー・ストアに追加されるたびに発せられます。

[signal] void QWebEngineCookieStore::cookieRemoved(const QNetworkCookie &cookie)

このシグナルは、cookie がクッキー・ストアから削除されるたびに発せられます。

void QWebEngineCookieStore::deleteAllCookies()

クッキー・ストア内のすべてのクッキーを削除します。

注意: この操作は非同期です。

loadAllCookies()も参照してください

void QWebEngineCookieStore::deleteCookie(const QNetworkCookie &cookie, const QUrl &origin = QUrl())

クッキー・ストアからcookie を削除します。削除するクッキーの範囲を限定するために、オプションでorigin URL 引数を与えることが可能です。

注意: この操作は非同期です。

void QWebEngineCookieStore::deleteSessionCookies()

クッキー・ストア内のすべてのセッション・クッキーを削除します。セッション・クッキーには有効期限が割り当てられていません。

注意: この操作は非同期です。

loadAllCookies()も参照してください

void QWebEngineCookieStore::loadAllCookies()

すべてのクッキーをクッキー・ストアにロードします。cookieAdded() シグナルはロードされたすべてのクッキーに発せられます。クッキーはストアが初期化されるときに自動的にロードされ、ほとんどの場合、最初の URL をロードするときに起こります。しかし、この関数を呼び出すことは、ウェブ・コンテンツに入る前にクッキーをリストする必要がある場合に便利です。

注意: この操作は非同期です。

void QWebEngineCookieStore::setCookie(const QNetworkCookie &cookie, const QUrl &origin = QUrl())

クッキー・ストアにcookie

注意: cookie がドットで始まらないQNetworkCookie::domain()を指定した場合、ドットが自動的に先頭に付加されます。クッキーを正確なサーバに限定するには、QNetworkCookie::domain ()を省略し、代わりにorigin

指定するURLにはスキームも含める必要があります。

注意: この操作は非同期です。

void QWebEngineCookieStore::setCookieFilter(const std::function<bool (const FilterRequest &)> &filterCallback)

サイトやリソースがクッキーを使用しないようにするためのクッキー・フィルタをインストールします。filterCallback は、FilterRequest 構造体を取るラムダまたはファンクタでなければなりません。クッキーのアクセスを受け入れる場合、フィルタ関数はtrue を返すべきです。そうでない場合はfalse を返すべきです。

次のコード・スニペットはクッキー・フィルタを設定する方法を示しています:

profile->cookieStore()->setCookieFilter(
    [&allowThirdPartyCookies](const QWebEngineCookieStore::FilterRequest &request)
    { return !request.thirdParty || allowThirdPartyCookies; }
);

nullptr 引数でフィルタを設定解除できます。

このコールバックは IO スレッドで実行されるため、Chromium ネットワーキングをブロックするので、重いタスクの実行には使用しないでください。

IndexedDB 、DOMストレージ、ファイルシステムAPI、サービスワーカー、AppCacheなどです。

deleteAllCookies() およびloadAllCookies()も参照してください

void QWebEngineCookieStore::setCookieFilter(std::function<bool (const FilterRequest &)> &&filterCallback)

これはオーバーロードされた関数です。

©2024 The Qt Company Ltd. 本文書に含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。