Класс QWebEngineCookieStore
Класс QWebEngineCookieStore предоставляет доступ к файлам cookie Chromium. Подробнее...
| Заголовок: | #include <QWebEngineCookieStore> |
| С момента: | Qt 5.6 |
| Наследует: | QObject |
Этот класс был представлен в Qt 5.6.
Типы public
| FilterRequest |
Public Functions
| 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) |
Подробное описание
Класс позволяет получить доступ к HTTP-файлам cookie Chromium для определенного профиля. Он может использоваться для синхронизации файлов cookie Chromium и QNetworkAccessManager, а также для установки, удаления и перехвата файлов cookie во время навигации. Поскольку операции с файлами cookie асинхронны, пользователь может выбрать предоставление функции обратного вызова, чтобы быть уведомлённым об успехе операции. Обработчики сигналов для удаления и добавления не должны использоваться для выполнения сложных задач, поскольку они могут заблокировать поток ввода/вывода при блокирующем соединении.
Используйте QWebEngineProfile::cookieStore() и QQuickWebEngineProfile::cookieStore() для доступа к объекту хранилища файлов cookie для определённого профиля.
Документация по функциям-членам
[signal] void QWebEngineCookieStore::cookieAdded(const QNetworkCookie &cookie)
Этот сигнал излучается всякий раз, когда новый файл cookie cookie добавляется в хранилище.
[signal] void QWebEngineCookieStore::cookieRemoved(const QNetworkCookie &cookie)
Этот сигнал излучается всякий раз, когда файл cookie cookie удаляется из хранилища.
[virtual] QWebEngineCookieStore::~QWebEngineCookieStore()
Уничтожает этот объект QWebEngineCookieStore.
void QWebEngineCookieStore::deleteAllCookies()
Удаляет все файлы cookie в хранилище.
Примечание: Эта операция асинхронна.
См. также loadAllCookies().
void QWebEngineCookieStore::deleteCookie(const QNetworkCookie &cookie, const QUrl &origin = QUrl())
Удаляет файл cookie cookie из хранилища. Можно предоставить необязательный аргумент URL origin, чтобы ограничить область удаляемого файла cookie.
Примечание: Эта операция асинхронна.
void QWebEngineCookieStore::deleteSessionCookies()
Удаляет все сеансовые файлы cookie в хранилище. Сеансовые файлы cookie не имеют назначенной даты истечения срока действия.
Примечание: Эта операция асинхронна.
См. также loadAllCookies().
void QWebEngineCookieStore::loadAllCookies()
Загружает все файлы 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.14/qwebenginecookiestore.html