您可以将QWebView cookie/sessions与QNetworkAccessManager一起使用吗?

Can you use QWebView cookies/sessions with QNetworkAccessManager?

本文关键字:一起 QNetworkAccessManager sessions QWebView cookie      更新时间:2023-10-16

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

是的。您可以使用QNetworkAccessManager::cookieJar()来获取处理给定QNetworkAccessManager cookie 的QNetworkCookieJar的句柄。您可以将此 cookie 设置为许多 WebViews .

QWebView webView = new QWebView();
QNetworkCookieJar cookieJar = new QNetworkCookieJar();
QNetworkAccessManager nam = new QNetworkAccessManager();
nam.setCookieJar(cookieJar);
webView.page()->setNetworkAccessManager(nam);