Класс QWebEngineCookieStore
Класс QWebEngineCookieStore предоставляет доступ к файлам cookie Chromium. Подробнее...
| Заголовок: | #include <QWebEngineCookieStore> |
| С момента: | Qt 5.6 |
| Наследует: | QObject |
Общедоступные типы
| класс | 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) |
- 34 общедоступные функции, унаследованные от QObject
Сигналы
| void | cookieAdded(const QNetworkCookie &cookie) |
| void | cookieRemoved(const QNetworkCookie &cookie) |
- 2 сигнала, унаследованные от QObject
Дополнительные унаследованные члены
- 1 свойство, унаследованное от QObject
- 1 общедоступный слот, унаследованный от QObject
- 1 общедоступная переменная, унаследованная от QObject
- 10 статических общедоступных членов, унаследованных от QObject
- 9 защищённых функций, унаследованных от QObject
- 2 защищённые переменные, унаследованные от QObject
Подробное описание
Класс QWebEngineCookieStore предоставляет доступ к файлам cookie Chromium.
Класс позволяет получить доступ к HTTP-cookie Chromium для определённого профиля. Он может использоваться для синхронизации cookie Chromium и QNetworkAccessManager, а также для установки, удаления и перехвата cookie во время навигации. Поскольку операции с cookie асинхронны, пользователь может указать функцию обратного вызова, чтобы получить уведомление об успешном выполнении операции. Обработчики сигналов для удаления и добавления не должны использоваться для выполнения ресурсоёмких задач, так как они могут заблокировать поток ввода-вывода в случае блокирующего соединения.
Используйте QWebEngineProfile::cookieStore() и QQuickWebEngineProfile::cookieStore() для доступа к объекту cookie-хранилища для определённого профиля.
Документация по функциям-членам
[virtual] QWebEngineCookieStore::~QWebEngineCookieStore()
Удаляет этот объект QWebEngineCookieStore.
[signal] void QWebEngineCookieStore::cookieAdded(const QNetworkCookie &cookie)
Этот сигнал испускается всякий раз, когда в хранилище cookie добавляется новый cookie.
[signal] void QWebEngineCookieStore::cookieRemoved(const QNetworkCookie &cookie)
Этот сигнал испускается всякий раз, когда cookie удаляется из хранилища cookie.
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/archives/qt-5.11/qwebenginecookiestore.html