Очистить куки в QtWebEngine

Я обновляю приложение с QtWebKit до QtWebEngine. Приложение полагалось на то, что WebKit не сохранял куки после закрытия приложения, но WebEngine, похоже, сохраняет их по умолчанию.

Я совсем не знаком с Qt. Я просматривал документацию, но не могу найти нужные API-вызовы для их удаления. Приложение просто имеет простой QWebEngineView для внешнего интерфейса.

3

Решение

Есть QWebEngineProfile класс, который вы можете использовать.

void QWebEngineProfile :: setPersistentCookiesPolicy (QWebEngineProfile :: PersistentCookiesPolicy
newPersistentCookiesPolicy)

Устанавливает политику для постоянных файлов cookie для newPersistentCookiesPolicy.

Так что вы можете сделать что-то вроде этого:

webEngineView->page()->profile()->setPersistentCookiesPolicy(QWebEngineProfile::NoPersistentCookies);
4

Другие решения

В случае, когда нет необходимости изменять PersistentCookiesPolicy, но вам нужно только очистить Cookies, тогда вы можете использовать метод deleteAllCookies() класса QWebEngineCookieStore,

Так что вы можете сделать что-то вроде этого:

webEngineView->page()->profile()->cookieStore()->deleteAllCookies();
6

По вопросам рекламы [email protected]