QNetworkCookieJar Class
QNetworkCookieJar クラスは、QNetworkCookie オブジェクトのシンプルな jar を実装しています。詳細...
Header: | #include <QNetworkCookieJar> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Network) target_link_libraries(mytarget PRIVATE Qt6::Network) |
qmake: | QT += network |
Inherits: | QObject |
パブリック関数
QNetworkCookieJar(QObject *parent = nullptr) | |
virtual | ~QNetworkCookieJar() |
virtual QList<QNetworkCookie> | cookiesForUrl(const QUrl &url) const |
virtual bool | deleteCookie(const QNetworkCookie &cookie) |
virtual bool | insertCookie(const QNetworkCookie &cookie) |
virtual bool | setCookiesFromUrl(const QList<QNetworkCookie> &cookieList, const QUrl &url) |
virtual bool | updateCookie(const QNetworkCookie &cookie) |
保護された関数
QList<QNetworkCookie> | allCookies() const |
void | setAllCookies(const QList<QNetworkCookie> &cookieList) |
virtual bool | validateCookie(const QNetworkCookie &cookie, const QUrl &url) const |
詳細説明
クッキーは、HTTPのようなステートレス・プロトコルがリクエスト間で永続的な情報を保持するために使用する、小さな情報の断片です。
クッキーはリクエストに応答するときにリモートサーバーによって設定され、さらにリクエストが送信されるときには同じクッキーが送り返されることを期待します。
クッキー・ジャーは以前のリクエストで設定されたすべてのクッキーを保持するオブジェクトです。ウェブ・ブラウザは、アプリケーションの呼び出しにわたって永続的なクッキーを保存するために、クッキー・ジャーをディスクに保存します。
QNetworkCookieJar は永続的な保存を実装していません。QNetworkCookieJar オブジェクトが削除されると、保持していたすべてのクッキーも破棄されます。クッキーを保存したい場合は、このクラスから派生して、独自のストレージ・フォーマットにディスクへの保存を実装する必要があります。
このクラスはクッキーの仕様によって推奨される基本的なセキュリティだけを実装し、クッキーの受諾方針は実装しません(どのようなリクエストによっても設定されるすべてのクッキーを受諾します)。これらのルールをオーバーライドするには、cookiesForUrl() とsetCookiesFromUrl() 仮想関数を再実装する必要があります。これらの関数は、QNetworkReply とQNetworkAccessManager が新しいクッキーを検出するときと、クッキーを要求するときに呼び出されます。
QNetworkCookie 、QNetworkAccessManager 、QNetworkReply 、QNetworkRequest 、QNetworkAccessManager::setCookieJar()も参照してください 。
メンバ関数 ドキュメント
[explicit]
QNetworkCookieJar::QNetworkCookieJar(QObject *parent = nullptr)
QNetworkCookieJar オブジェクトを作成し、親オブジェクトをparent に設定します。
クッキー・ジャーは空に初期化されます。
[virtual noexcept]
QNetworkCookieJar::~QNetworkCookieJar()
この cookie jar オブジェクトを破棄し、その中に保存されているすべての cookie を破棄します。QNetworkCookieJar デフォルトの実装では、クッキーはディスクに保存されません。
クッキーをディスクに保存する必要がある場合は、QNetworkCookieJar から派生して、自分でクッキーをディスクに保存する必要があります。
[protected]
QList<QNetworkCookie> QNetworkCookieJar::allCookies() const
このクッキー・ジャーに保存されているすべてのクッキーを返します。この関数は、派生クラスがクッキーをディスクに保存したり、クッキーの有効期限やその他のポリシーを実装するのに適しています。
setAllCookies() およびcookiesForUrl()も参照してください 。
[virtual]
QList<QNetworkCookie> QNetworkCookieJar::cookiesForUrl(const QUrl &url) const
リクエストがurl に送信されるときに追加されるクッキーを返します。この関数はデフォルトのQNetworkAccessManager::createRequest()によって呼び出され、送信されるリクエストにこの関数によって返されたクッキーを追加します。
同じ名前でパスが異なる複数のクッキーが見つかった場合、パスの長いものがパスの短いものより先に返されます。言い換えると、この関数はパスの長さ順にクッキーを返します。
デフォルトのQNetworkCookieJar クラスは非常に基本的なセキュリティ・ポリシーだけを実装しています(クッキーのドメインとパスがリプライのものと一致することを確認します)。独自のアルゴリズムでセキュリティ・ポリシーを強化するには、 cookiesForUrl()をオーバーライドしてください。
setCookiesFromUrl() とQNetworkAccessManager::setCookieJar()も参照してください 。
[virtual]
bool QNetworkCookieJar::deleteCookie(const QNetworkCookie &cookie)
cookie と同じ識別子を持つクッキーをクッキー・ジャーから削除します。
クッキーが削除された場合はtrue
を返し、そうでない場合は false を返します。
QNetworkCookie::hasSameIdentifier()も参照してください 。
[virtual]
bool QNetworkCookieJar::insertCookie(const QNetworkCookie &cookie)
cookie をこのクッキー・ジャーに追加します。
cookie が追加された場合はtrue
を、そうでない場合は false を返します。
同じ識別子を持つクッキーがすでにクッキー・ジャーに存在する場合、それは上書きされます。
[protected]
void QNetworkCookieJar::setAllCookies(const QList<QNetworkCookie> &cookieList)
このクッキー・ジャーが保持するクッキーの内部リストをcookieList に設定します。この関数は、派生クラスが永続的な記憶域からクッキーをロードすることや、setCookiesFromUrl() を再実装して独自のクッキー受諾ポリシーを実装するのに適しています。
allCookies() およびsetCookiesFromUrl()も参照してください 。
[virtual]
bool QNetworkCookieJar::setCookiesFromUrl(const QList<QNetworkCookie> &cookieList, const QUrl &url)
リストcookieList のクッキーをこのクッキー・ジャーに追加します。クッキーは挿入される前に正規化されます。
1つ以上のクッキーがurl に設定されていればtrue
を返し、そうでなければ false を返します。
クッキーがすでにクッキー・ジャーに存在する場合、そのクッキーはcookieList のものによって上書きされます。
デフォルトのQNetworkCookieJar クラスは非常に基本的なセキュリティ・ポリシーのみを実装しています(クッキーのドメ インとパスがリプライのものと一致することを確認します)。独自のアルゴリズムでセキュリティ・ポリシーを強化するには、setCookiesFromUrl() をオーバーライドしてください。
また、QNetworkCookieJar には最大クッキー・ジャー・サイズがありません。この関数を再実装して、古いクッキーを破棄し、新しいクッキーのためのスペースを作ってください。
cookiesForUrl ()、QNetworkAccessManager::setCookieJar ()、QNetworkCookie::normalize ()も参照してください 。
[virtual]
bool QNetworkCookieJar::updateCookie(const QNetworkCookie &cookie)
cookie と同じ識別子を持つクッキーがこのクッキー・ジャーに存在する場合、それは更新されます。この関数はinsertCookie() を使用します。
cookie が更新された場合はtrue
を返し、cookie の識別子と一致するクッキーがジャーにない場合は false を返します。
QNetworkCookie::hasSameIdentifier()も参照 。
[virtual protected]
bool QNetworkCookieJar::validateCookie(const QNetworkCookie &cookie, const QUrl &url) const
cookie のドメインとパスが有効な場合はtrue
を返し、そうでない場合は false を返します。url パラメータは、クッキーで指定されたドメインが許可されているかどうかを判断するために使用されます。
本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。