Privacy policyContactsAbout siteOpinionsGitHubDonate
© EVILEG 2015-2018
Recommend hosting
TIMEWEB
ML
April 2, 2019, 4:48 p.m.

Как использовать куки в последующих запросах? QT

Код

void ThreadHttpDownload::run()
{
    QNetworkAccessManager *manager = new QNetworkAccessManager;
    QNetworkCookieJar *cookieJar = new QNetworkCookieJar(manager);

    manager->setCookieJar(cookieJar);

    connect(manager, SIGNAL(finished(QNetworkReply*)),
             this, SLOT(replyFinished(QNetworkReply*)), Qt::DirectConnection);

    manager->get(QNetworkRequest(QUrl(link)));
    manager->get(QNetworkRequest(QUrl(link)));
    exec();
}


void ThreadHttpDownload::replyFinished(QNetworkReply *reply)
{
    QVariant varCookies;
    QList<QNetworkCookie> cookies;
    varCookies = reply->header(QNetworkRequest::SetCookieHeader);
    cookies = varCookies.value<QList<QNetworkCookie>>();

    qDebug() << cookies;
}

Дебаг

(QNetworkCookie("sid=X62ISFyjka2vRkvtk5axAg==; path=/"))
(QNetworkCookie("sid=X62ISFyjka2vRkvtk5ayAg==; path=/"))

Анализер

Как быть?

10% refund of hotel reservation amount on Booking
10% refund of hotel reservation amount on Booking
We offer a link with a 10% return on the amount of the order when booking a hotel through Booking
1

Добрый день

Из полученного запроса в методе replyFinished забираете Coockie и сохраняете их в какую-нибудь переменную не локально в метода, в поле класса. То есть тото QList нужно сохранить в переменной, которая будет объявлено в заголовочном файле.

А дальше при запросе устанавливаете из в QNetworkAccessManager через QNetworkCookieJar . QNetworkCookieJar имеет методы insertCookie , deleteCookie. А QNetworkAccessManager имеет метод setCookieJar . Вот этими методами и нужно оперировать.

0

Comments

Only authorized users can post comments.
Please, Log in or Sign up
AA
April 17, 2019, 7:40 p.m.
Anton Ablin

Qt - Test 001. Signals and slots

  • Result:73points,
  • Rating points1
E
April 17, 2019, 6:16 p.m.
Evgeny

Qt - Test 001. Signals and slots

  • Result:100points,
  • Rating points10
E
April 17, 2019, 6:14 p.m.
Evgeny

Qt - Test 001. Signals and slots

  • Result:78points,
  • Rating points2
Last comments
U
April 18, 2019, 3:37 p.m.
Unreal_man

А как иконку в хедер задать?
u
April 18, 2019, 2:15 a.m.
uaa

доброго времени,большое спасибо за пример для начинающего)при адаптации к своему проекту столкнулся с таким ньансом:в vepolyline.h в 47 строке нужна инициализация по умолчанию: int m_pointF...
E
April 11, 2019, 12:49 p.m.
Evgeny

Спасибо за ответ) У меня компоновщик на нее ругался просто. Оказалось, просто забыл Q_OBJECT в начале класса указать.
April 11, 2019, 12:29 p.m.
Евгений Легоцкой

Добрый день. Вы имели ввиду реализацию? Для сигналов в Qt реализация не пишется, это всё генерируется в moc файлах под капотом Qt.
E
April 11, 2019, 12:15 p.m.
Evgeny

Здравствуйте. А где описание функции signal1()?
Now discuss on the forum
R
April 19, 2019, 9:55 a.m.
RED_Spider

мені важко це зараз навіть перевірити, тому що знайшов коміт, це ще було в 2016 році, і цей код не буде працювати коректно зараз, єдине скажу що це були QThread
i
April 17, 2019, 3:03 p.m.
ilya.guzikov

BlinCT, на стороне ++ это делать необходимо так как в qml при использовании функции append происходит перерисовка всех точек лини(как я понимаю) и из-за этого при использовании больших массиво...
April 10, 2019, 11:20 a.m.
Алексей Внуков

может тоже кому надо будет - QML не принимает QVector<QVector<int>> , при попытке вывести полученый вектор QML показывает что это QVariant(QVector<QVector<int> ...
SN
April 10, 2019, 9:36 a.m.
Stanislav Nykytiuk

Как реализовать такое меню, что бы нажмаешь меню подменю и выбор позиции? Данные меню и подменю в базе SQL.
Join us in social networks

For registered users on the site there is a minimum amount of advertising