
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等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)