Возможно ли получить доступ к QNetworkCookieJar
в QtWebEngine
, как вы могли раньше с QtWebKit
? Я не могу найти его в любом месте в документации ...Qt 5: Доступ к файлам cookie в QtWebEngine
ответ
QNetworkCookie доступен для QtWebEngine, но только через старый QNetworkAccessManager
, как QtWebEngine
использует свою собственную реализацию HTTP. Вы можете заметить это while reading one of the examples:
contains(DEFINES, QWEBENGINEPAGE_SETNETWORKACCESSMANAGER) {
HEADERS += cookiejar.h networkaccessmanager.h
SOURCES += cookiejar.cpp networkaccessmanager.cpp
}
Пожалуйста, обратитесь к следующему примеру для деталей:
Я ожидаю, что это улучшится в будущем, однако, поскольку это кажется неприятным обходной путь. В конце концов, это совершенно новый модуль. – lpapp
Ссылка на пример браузера WebEngine Tab больше не работает. Есть четыре примера на http://doc.qt.io/qt-5/webengine-widgetexamples.html, но браузер вкладки, похоже, не существует. – parsley72
Я рассмотрел пример браузера в Qt 5.5.1, и флаг QWEBENGINEPAGE_SETNETWORKACCESSMANAGER не работает. Для этого требуется функция QWebPage :: setNetworkAccessManager(), которая не поддерживается в Qt5. Я не вижу никакого способа сделать это, если у нас нет Qt5.6. – parsley72
Начиная с Qt 5.6 и далее вы можете использовать QWebEngineCookieStore class.
См. Http://stackoverflow.com/questions/27430864/how-to-set-qnetworkcookiejar-in-qwebengine/38351551#38351551 – mohabouje