Spec-Zone.ru › Qt 6.0

Класс QNetworkCookieJar

Класс QNetworkCookieJar реализует простой контейнер для объектов QNetworkCookie. Подробнее...

Заголовок: #include <QNetworkCookieJar>
CMake: find_package(Qt6 COMPONENTS Network REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Network)
qmake: QT += network
Наследуется от: 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().

Документация по функциям-членам

QNetworkCookieJar::QNetworkCookieJar(QObject *parent = nullptr)

Создаёт объект QNetworkCookieJar и устанавливает родительский объект в parent.

Контейнер куки инициализируется как пустой.

[virtual] QNetworkCookieJar::~QNetworkCookieJar()

Уничтожает этот объект контейнера куки и удаляет все хранящиеся в нём куки. Куки не сохраняются на диск в реализации 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, since 5.0] bool QNetworkCookieJar::deleteCookie(const QNetworkCookie &cookie)

Удаляет из контейнера куки куки, идентификатор которого совпадает с cookie.

Возвращает true если куки был удалён, в противном случае false.

Эта функция была добавлена в Qt 5.0.

См. также QNetworkCookie::hasSameIdentifier().

[virtual, since 5.0] bool QNetworkCookieJar::insertCookie(const QNetworkCookie &cookie)

Добавляет cookie в этот контейнер куки.

Возвращает true если cookie был добавлен, в противном случае false.

Если куки с тем же идентификатором уже существует в контейнере куки, он будет перезаписан.

Эта функция была добавлена в Qt 5.0.

[protected] void QNetworkCookieJar::setAllCookies(const QList<QNetworkCookie> &cookieList)

Устанавливает внутренний список куки, хранимый в этом контейнере куки, в cookieList. Эта функция подходит для производных классов для реализации загрузки куки из постоянного хранилища или собственных политик принятия куки, переопределяя setCookiesFromUrl().

См. также allCookies() и setCookiesFromUrl().

[virtual] bool QNetworkCookieJar::setCookiesFromUrl(const QList<QNetworkCookie> &cookieList, const QUrl &url)

Добавляет куки из списка cookieList в этот контейнер куки. Перед вставкой куки нормализуются.

Возвращает true если один или несколько куки установлены для url, в противном случае false.

Если куки уже существует в контейнере куки, он будет перезаписан куки из cookieList.

Класс QNetworkCookieJar по умолчанию реализует только очень простую политику безопасности (он гарантирует, что домен и путь куки соответствуют ответу). Чтобы улучшить политику безопасности с помощью собственных алгоритмов, переопределите setCookiesFromUrl().

Также у QNetworkCookieJar нет максимального размера контейнера куки. Переопределите эту функцию, чтобы отбрасывать более старые куки, чтобы освободить место для новых.

См. также cookiesForUrl(), QNetworkAccessManager::setCookieJar() и QNetworkCookie::normalize().

[virtual, since 5.0] bool QNetworkCookieJar::updateCookie(const QNetworkCookie &cookie)

Если в этом контейнере куки существует куки с тем же идентификатором, что и cookie, он будет обновлён. Эта функция использует insertCookie().

Возвращает true если cookie был обновлён, в противном случае false, если в контейнере нет куки с идентификатором cookie.

Эта функция была добавлена в Qt 5.0.

См. также QNetworkCookie::hasSameIdentifier().

[virtual protected, since 5.0] bool QNetworkCookieJar::validateCookie(const QNetworkCookie &cookie, const QUrl &url) const

Возвращает true, если домен и путь cookie допустимы, в противном случае возвращает false. Параметр url используется для определения, разрешен ли домен, указанный в cookie.

Эта функция была добавлена в Qt 5.0.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.0/qnetworkcookiejar.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API