您可以在QNetworkAccessManager中使用QWebView cookie /会话吗?

时间:2013-09-28 17:23:25

标签: c++ qt cookies

我正在制作一个带有QWebView的程序,它显示了我们网站的用户页面。同时我想使用QNetworkManager向站点发出后台HTTP请求。有没有办法在QWebView和QNetworkManager之间共享用户的cookie,以便他们只有一个会话?现在用户可以登录QWebView,但是当我在QNetworkManager对象上进行get()调用时,该站点的行为就像用户没有登录一样,尽管他们已登录到QWebView中。

1 个答案:

答案 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);