В Qt QwebKit как я могу удалить все куки при запуске? - PullRequest
0 голосов
/ 01 апреля 2011

Я установил банку с cookie, как показано в Интернете, и могу получить все значения куки; но как я могу удалить все куки, которые я не понимаю? Вот мой код, где я могу инициировать удаление всех куки и как?

#include <QNetworkCookieJar>
 class QNetworkCookieJarEx : public QNetworkCookieJar
{
public:
    QNetworkCookieJarEx()
      : mEnabled(true){ }

    bool enabled() const
    { 
            return mEnabled; 
    }

    void setEnabled(bool enabled)
    {
        if(mEnabled != enabled)
        {
            mEnabled = enabled;
         // Possibly clear cookies, if we could get access to the parent class container. However, currently it is private.
         // so how can i delete all the cookies ?


        }
    }

    QList<QNetworkCookie> cookiesForUrl(const QUrl &url) const
    {
        if(mEnabled )
            return QNetworkCookieJar::cookiesForUrl(url);
        else
            return QList<QNetworkCookie>();
    }
     bool setCookiesFromUrl(const QList<QNetworkCookie> &cookieList, const QUrl &url)

    {
        if(mEnabled )
        {
            QUrl u = url;
            // here i can see the cookies values 
            QList<QNetworkCookie> cookies = allCookies();
            foreach(QNetworkCookie cookie, cookieList) {
                QString cookieName(cookie.name());
                QString cookieValue(cookie.value());
                QString cookiePath(cookie.path());
                //simple logger 
                UT::getInstance()->MyLogToFile("cookieName:"+cookieName+
                                " cookieValue:"+cookieValue+
                                " cookiePath:"+cookiePath); 
                cookies += cookie;
            }


            return QNetworkCookieJar::setCookiesFromUrl(cookieList, url);
        }
        else
            return false;
    }

    QList<QNetworkCookie> allCookies() const
    {
        if(mEnabled )
            return QNetworkCookieJar::allCookies();
        else
            return QList<QNetworkCookie>();
    }

    void setAllCookies(const QList<QNetworkCookie>& cookieList)
    {
        if(mEnabled )
            return QNetworkCookieJar::setAllCookies(cookieList);
    }

protected:
    bool mEnabled;
};

1 Ответ

2 голосов
/ 01 апреля 2011

Передать пустой список QNetworkCookieJar::setAllCookies()

...