美文网首页
Qt获取Cookie

Qt获取Cookie

作者: stevenjobs | 来源:发表于2016-03-22 15:48 被阅读1638次

在使用QNetworkAccessManager访问网络时,有时需要管理Cookie信息。Qt的QNetworkCookieJar类实现了一个简单的Cookie容器,但它只在内存中保留Cookie,该类的对象一旦被删除,里面的cookies也被丢弃。如果想存储在本地,必须继承该类然后自己实现存储。文档中有这样一段描述:

This class implements only the basic security recommended by the cookie specifications and does not implement any cookie acceptance policy (it accepts all cookies set by any requests). In order to override those rules, you should reimplement the cookiesForUrl() and setCookiesFromUrl() virtual functions. They are called by QNetworkReply and QNetworkAccessManager when they detect new cookies and when they require cookies.

See also QNetworkCookie, QNetworkAccessManager, QNetworkReply, QNetworkRequest, and QNetworkAccessManager::setCookieJar().

我这里简单的实现了getCookies()setCookies()功能。使用时生成一个NetworkCookieJar对象,再用void QNetworkAccessManager::setCookieJar(QNetworkCookieJar * cookieJar)设置一下即可。

// networkcookiejar.h
#ifndef NETWORKCOOKIEJAR_H
#define NETWORKCOOKIEJAR_H

#include <QNetworkCookie>
#include <QNetworkCookieJar>

class NetworkCookieJar : public QNetworkCookieJar
{
public:
    NetworkCookieJar();

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

#endif // NETWORKCOOKIEJAR_H

// networkcookiejar.cpp
#include "networkcookiejar.h"

NetworkCookieJar::NetworkCookieJar()
{
}

QList<QNetworkCookie> NetworkCookieJar::getCookies()
{
    return allCookies();
}

void NetworkCookieJar::setCookies(const QList<QNetworkCookie>& cookieList)
{
    if(this == NULL) {
        return;
    }
    setAllCookies(cookieList);
}

相关文章

  • Qt获取Cookie

    在使用QNetworkAccessManager访问网络时,有时需要管理Cookie信息。Qt的QNetworkC...

  • 玩转服务端cookie

    获取服务端cookie 获取客户端cookie 客户端设置cookie 删除cookie cookie策略

  • 读写操作

    获取cookie 删除cookie 写入cookie

  • C#设置Cookie

    设置Cookie 获取Cookie 清除Cookie

  • Flask中cookie的使用

    设置cookie 获取cookie,和删除cookie

  • Js封装函数

    一、Cookie相关 1、获取cookie 2、写入cookie 3、删除cookie 二、URL相关 1、获取u...

  • cookie

    //设置cookie //获取cookie //封装cookie调用 以对象的形式获取 //key // 设置有效...

  • 获取返回URL

    Java设置Cookie Java获取Cookie Js获取Cookie Java方法调用 Js方法调用

  • js存取cookie数据

    设置cookie 获取cookie数据

  • Cookie

    设置cookie 获取cookie 封装cookie调用 以对象的形式获取 key 设置有效期:

网友评论

      本文标题:Qt获取Cookie

      本文链接:https://www.haomeiwen.com/subject/jqhllttx.html