Spec-Zone.ru › Qt 5.15

Класс QWebEngineCookieStore

Класс QWebEngineCookieStore предоставляет доступ к файлам cookie Chromium. Подробнее...

Заголовок: #include <QWebEngineCookieStore>
С тех пор: Qt 5.6
Наследует: QObject

Этот класс был представлен в Qt 5.6.

  • Список всех членов, включая унаследованные

Открытые типы

Структура FilterRequest

Открытые функции

виртуальный ~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)

Подробное описание

Класс позволяет получить доступ к HTTP-файлам cookie Chromium для определенного профиля. Он может использоваться для синхронизации файлов cookie Chromium и QNetworkAccessManager, а также для установки, удаления и перехвата файлов cookie во время навигации. Поскольку операции с файлами cookie асинхронны, пользователь может выбрать предоставление функции обратного вызова, чтобы получить уведомление об успехе операции. Обработчики сигналов для удаления и добавления не должны использоваться для выполнения сложных задач, поскольку они могут заблокировать поток ввода-вывода в случае блокирующего соединения.

Используйте QWebEngineProfile::cookieStore() и QQuickWebEngineProfile::cookieStore() для доступа к объекту хранилища файлов cookie для определенного профиля.

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

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

Этот сигнал генерируется всякий раз, когда в хранилище файлов cookie добавляется новый файл cookie cookie.

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

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

[virtual] QWebEngineCookieStore::~QWebEngineCookieStore()

Уничтожает объект QWebEngineCookieStore.

void QWebEngineCookieStore::deleteAllCookies()

Удаляет все файлы cookie в хранилище файлов cookie.

Примечание: Эта операция асинхронна.

См. также loadAllCookies().

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

Удаляет cookie из хранилища файлов cookie. Можно указать необязательный аргумент URL origin, чтобы ограничить область действия удаляемого файла cookie.

Примечание: Эта операция асинхронна.

void QWebEngineCookieStore::deleteSessionCookies()

Удаляет все файлы cookie сеанса в хранилище файлов cookie. Файлы cookie сеанса не имеют установленной даты истечения.

Примечание: Эта операция асинхронна.

См. также loadAllCookies().

void QWebEngineCookieStore::loadAllCookies()

Загружает все файлы cookie в хранилище файлов cookie. Сигнал cookieAdded() генерируется при загрузке каждого файла cookie. Файлы cookie загружаются автоматически при инициализации хранилища, что в большинстве случаев происходит при загрузке первого URL-адреса. Однако вызов этой функции полезен, если файлы cookie должны быть перечислены до входа в веб-контент.

Примечание: Эта операция асинхронна.

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

Добавляет cookie в хранилище файлов cookie.

Примечание: Если cookie указывает на QNetworkCookie::domain(), не начинающийся с точки, точка автоматически добавляется в начало. Чтобы ограничить файл cookie конкретному серверу, опустите QNetworkCookie::domain() и установите origin вместо этого.

Указанный URL также должен включать схему.

Примечание: Эта операция асинхронна.

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

Устанавливает фильтр файлов cookie, который может предотвращать использование сайтами и ресурсами файлов cookie. filterCallback должен быть лямбда-выражением или функтором, принимающим структуру FilterRequest. Если доступ к файлу cookie должен быть разрешен, функция фильтра должна возвращать true; в противном случае она должна возвращать false.

Следующий фрагмент кода демонстрирует, как установить фильтр файлов cookie:

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

Вы можете сбросить фильтр, используя аргумент nullptr.

Функция обратного вызова не должна использоваться для выполнения сложных задач, поскольку она выполняется в потоке ввода-вывода и, следовательно, блокирует сетевую работу Chromium.

Примечание: Фильтр файлов cookie также контролирует другие функции с возможностями отслеживания, аналогичными файлам cookie; включая IndexedDB, хранилище DOM, API файловой системы, веб-службы и AppCache.

Эта функция была представлена в Qt 5.11.

См. также deleteAllCookies() и loadAllCookies().

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

Это перегруженная функция.

Эта функция была представлена в Qt 5.11.

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

Spec-Zone.ru

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