Доброго дня.
Решаю задачу доступа к архиву переписки для mail.ru Агент
Для начала пытаюсь авторизоваться на почтовом аккаунте mail.ru.
QUrl apiUrl(QString("https://auth.mail.ru/cgi-bin/auth?from=splash"));
QString requestString = "Domain=mail.ru&Login=testov-79&Password=testtest&new_auth_form=1&saveauth=1";
QNetworkRequest request(apiUrl);
QNetworkAccessManager * pManager = new QNetworkAccessManager;
connect(pManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(replyFinish(QNetworkReply*)));
QNetworkCookieJar *cookieJar = new QNetworkCookieJar(pManager);
pManager->setCookieJar(cookieJar);
pManagerp->post( request, requestString.toUtf8());
В функции обработчике ответа
void replyFinish(QNetworkReply* reply)
{
QString answer = QString::fromUtf8(reply->readAll());
qDebug() << answer;
}
мне приходит такой ответ
"<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1251">
<script language="JavaScript"><!--
window.location.replace("https://e.mail.ru/messages/inbox/?back=1");
// --></script>
<meta http-equiv="refresh" content="0;url=https://e.mail.ru/messages/inbox/?back=1">
</head>
<body></body>
</html>
"
1. Для того чтобы проверить прошла ли авторизация мне надо посмотреть какие куки установились ?
Как это сделать ?
2. Я так понимаю что мне нужно выполнить редирект на адрес
https://e.mail.ru/messages/inbox/?back=1. Где его выполнить - в обработчике
void replyFinish(QNetworkReply* reply)
или после выполнения
pManagerp->post( request, requestString.toUtf8());
3. Для редиректа надо создавать новый объект
QNetworkAccessManager * pManagerRedirect = new QNetworkAccessManager;
или надо использовать уже созданный
, чтобы принятые куки были посланы вместе в запросом ?
Буду благодарен за подсказку так как с QNetworkAccessManager ранее не работал.