我正在制作一个带有QWebView的程序,它显示了我们网站的用户页面。同时我想使用QNetworkManager向站点发出后台HTTP请求。有没有办法在QWebView和QNetworkManager之间共享用户的cookie,以便他们只有一个会话?现在用户可以登录QWebView,但是当我在QNetworkManager对象上进行get()调用时,该站点的行为就像用户没有登录一样,尽管他们已登录到QWebView中。
答案 0 :(得分:5)
是肯定的。您可以使用QNetworkAccessManager::cookieJar()
来处理QNetworkCookieJar
处理给定QNetworkAccessManager
的Cookie的句柄。您可以将此Cookie设置为多个WebViews
。
QWebView webView = new QWebView();
QNetworkCookieJar cookieJar = new QNetworkCookieJar();
QNetworkAccessManager nam = new QNetworkAccessManager();
nam.setCookieJar(cookieJar);
webView.page()->setNetworkAccessManager(nam);