
Originally Posted by
wysota
QList<QNetworkCookie> cookiesList = qvariant_cast<QList<QNetworkCookie> >(reply->header(...));
QList<QNetworkCookie> cookiesList = qvariant_cast<QList<QNetworkCookie> >(reply->header(...));
To copy to clipboard, switch view to plain text mode
Thanks wysota, now it compiles correctly but as result I got an empty cookiesList; it is how no cookies were sent by the website. I have made a minimal example for testing purpose; have added a webview for checking site message and it says "Cookies are not enabled!":
#include <QApplication>
#include <QtGui>
#include <QtNetwork>
#include <QtWebKit>
{
Q_OBJECT
public:
private slots:
void replyFinished(QNetworkReply*);
private:
QWebView* webView;
QNetworkAccessManager* manager;
};
CookiesTest
::CookiesTest(QWidget* parent
){
resize(640,480);
webView = new QWebView; // web page error messages
label
= new QLabel;
// displays num of cookies received layout->addWidget(webView);
layout->addWidget(label);
manager = new QNetworkAccessManager;
connect(manager, SIGNAL(finished(QNetworkReply*)),
this, SLOT(replyFinished(QNetworkReply*)));
manager
->get
(QNetworkRequest
(QUrl("http://www.tempesttech.com/cookies/cookietest2.asp")));
}
void CookiesTest::replyFinished(QNetworkReply* reply)
{
qDebug() << "Num of cookies: "
<< reply->header(QNetworkRequest::SetCookieHeader).toList().size();
label->setText("Num of cookies: "
+ QVariant(reply
->header
(QNetworkRequest
::SetCookieHeader).
toList().
size()).
toString());
webView->setContent(reply->readAll());
}
int main(int argc, char* argv[])
{
CookiesTest cookiesTest;
cookiesTest.exec();
}
#include "main.moc"
#include <QApplication>
#include <QtGui>
#include <QtNetwork>
#include <QtWebKit>
class CookiesTest : public QDialog
{
Q_OBJECT
public:
CookiesTest(QWidget* parent = 0);
private slots:
void replyFinished(QNetworkReply*);
private:
QWebView* webView;
QLabel* label;
QNetworkAccessManager* manager;
};
CookiesTest::CookiesTest(QWidget* parent)
: QDialog(parent)
{
resize(640,480);
webView = new QWebView; // web page error messages
label = new QLabel; // displays num of cookies received
QVBoxLayout* layout = new QVBoxLayout(this);
layout->addWidget(webView);
layout->addWidget(label);
manager = new QNetworkAccessManager;
connect(manager, SIGNAL(finished(QNetworkReply*)),
this, SLOT(replyFinished(QNetworkReply*)));
manager->get(QNetworkRequest(QUrl("http://www.tempesttech.com/cookies/cookietest2.asp")));
}
void CookiesTest::replyFinished(QNetworkReply* reply)
{
qDebug() << "Num of cookies: "
<< reply->header(QNetworkRequest::SetCookieHeader).toList().size();
label->setText("Num of cookies: "
+ QVariant(reply->header(QNetworkRequest::SetCookieHeader).toList().size()).toString());
webView->setContent(reply->readAll());
}
int main(int argc, char* argv[])
{
QApplication app(argc, argv);
CookiesTest cookiesTest;
cookiesTest.exec();
}
#include "main.moc"
To copy to clipboard, switch view to plain text mode
What am I doing wrong?
Bookmarks