Я обновляю приложение с QtWebKit до QtWebEngine. Приложение полагалось на то, что WebKit не сохранял куки после закрытия приложения, но WebEngine, похоже, сохраняет их по умолчанию.
Я совсем не знаком с Qt. Я просматривал документацию, но не могу найти нужные API-вызовы для их удаления. Приложение просто имеет простой QWebEngineView для внешнего интерфейса.
Есть QWebEngineProfile
класс, который вы можете использовать.
void QWebEngineProfile :: setPersistentCookiesPolicy (QWebEngineProfile :: PersistentCookiesPolicy
newPersistentCookiesPolicy)Устанавливает политику для постоянных файлов cookie для newPersistentCookiesPolicy.
Так что вы можете сделать что-то вроде этого:
webEngineView->page()->profile()->setPersistentCookiesPolicy(QWebEngineProfile::NoPersistentCookies);
В случае, когда нет необходимости изменять PersistentCookiesPolicy, но вам нужно только очистить Cookies, тогда вы можете использовать метод deleteAllCookies()
класса QWebEngineCookieStore
,
Так что вы можете сделать что-то вроде этого:
webEngineView->page()->profile()->cookieStore()->deleteAllCookies();