如何在Qt中使用cookies

如何在Qt中使用cookies,第1张

Qt获取cookie非常简单。只要我们继承QNetworkCookieJar之后然后实现一个自己的获取cookie的接口,

通过它的protected成员函数allCookies即可获得当前webview里面的浏览过页面所有保存的cookie了。

当然还需要通过当前webview的QNetworkAccessManager来把我们的cookie对象关联一下。

h

[cpp] view plain copy print

#ifndef NETWORKCOOKIE_H

#define NETWORKCOOKIE_H

#include <QtNetwork/QNetworkCookie>

#include <QtNetwork/QNetworkCookieJar>

class NetworkCookie : public QNetworkCookieJar

{

Q_OBJECT

public:

NetworkCookie(QObject parent);

~NetworkCookie();

QList<QNetworkCookie> getCookies();

void setCookies(const QList<QNetworkCookie>& cookieList);

private:

};

#endif // NETWORKCOOKIE_H

Cpp

[cpp] view plain copy print

#include "networkcookieh"

NetworkCookie::NetworkCookie(QObject parent)

: QNetworkCookieJar(parent)

{

}

NetworkCookie::~NetworkCookie()

{

}

QList<QNetworkCookie> NetworkCookie::getCookies()

{

return allCookies();

}

void NetworkCookie::setCookies(const QList<QNetworkCookie>& cookieList)

{

if(this == NULL)

return;

this->setAllCookies(cookieList);

}

使用:

[cpp] view plain copy print

//设置cookie到浏览器

uiwebView->page()->networkAccessManager()->setCookieJar(&network_cookie_);

QList<QNetworkCookie> cookies = network_cookie_getCookies();

之前也是使用 UIWebView ,但是近期使用时碰到了问题,所以就想着更换成 WKWebView 。都知道 WKWebView 是在iOS8之后苹果推出的,也有很多大牛做了他和 UIWebView 的对比,此处小弟就在叙述了,可以参考 文章一 、 文章二 ,我也是取各家之所长,以及在使用过程中遇到的问题,写下这篇文章,仅供参考!

以上就是WKWebView的使用方法;

但是此代理方法在iOS8上面并不执行,如果是自建证书,加载不受信任的>

场景

例如,这是一些 Web 客户端请求链:

尝试了cookie 同步也无法解决

使用以下方法也无法解决问题

最终解决方法

记录一下困扰自己好几天的问题

以上就是关于如何在Qt中使用cookies全部的内容,包括:如何在Qt中使用cookies、iOS开发:WKWebView的使用(设置cookie、不受信任的HTTPS、返回关闭按钮)、多次重定向时 WKWebview 丢失 cookie等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9744477.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存