void FenPrincipale::takeId()
{
QNetworkAccessManager *m = new QNetworkAccessManager();
QNetworkRequest requete
(QUrl("https://cas.univ-ubs.fr/login"));
QNetworkReply *r = m->get(requete);
qDebug() << "takeId";
connect(r, SIGNAL(finished()), this, SLOT(takeCookies()));
connect(r, SIGNAL(error(QNetworkReply::NetworkError)), this,
SLOT(messageErreur(QNetworkReply::NetworkError)));
}
void FenPrincipale::takeCookies()
{
boutonEnvoyer->setEnabled(false);
QNetworkReply *reply = static_cast<QNetworkReply*>(sender());
QNetworkAccessManager *m = reply->manager();
// Récupère L'id
QString lt
= source.
section("\"",
119,
119);
// Récupère le Cookie JSession
source = source.section("\"",41,41);
// Contruit le cookie
data = "JSESSIONID";
data
+= source.
remove(QRegExp("[a-z/;]"));
data += "; expires=Sun, 12-Aug-2012 17:59:28 GMT; domain=cas.univ-ubs.fr; path=/";
qDebug() << "takeCookies =" << data;
{
if (exist.indexOf("cas") != -1 )
{
out.seek(0);
qDebug() << "seek";
}
out << data;
f.close();
}
m->setCookieJar(new CookieJar(this));
postData.addQueryItem("username","");
postData.addQueryItem("password",var2_Edit->text());
postData.addQueryItem("warn", "true");
postData.addQueryItem("lt", lt);
postData.addQueryItem("_eventId", "submit");
postData.addQueryItem("submit", "SE CONNECTER");
// On crée une requête
QNetworkRequest requete
(QUrl(urlEdit1
->text
()));
QNetworkReply *r;
if (box2->isChecked())
{
requete.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded");
r = m->post(requete, postData.encodedQuery());
}
// Gestion des erreurs
connect(r, SIGNAL(error(QNetworkReply::NetworkError)), this, SLOT(messageErreur(QNetworkReply::NetworkError)));
// Gestion de fin de téléchargement
connect(r, SIGNAL(finished()), this, SLOT(takeLink()));
// Gestion de la barre de progression
connect(r, SIGNAL(downloadProgress(qint64, qint64)), this, SLOT(progressionTelechargement(qint64, qint64)));
connect(r, SIGNAL(sslErrors(const QList<QSslError>&)), this, SLOT(ErreurSsl(const QList<QSslError>&)));
connect(m, SIGNAL(authenticationRequired(QNetworkReply*, QAuthenticator*)),
this,SLOT(authentification(QNetworkReply*, QAuthenticator*)));
}
void FenPrincipale::takeLink()
{
QNetworkReply *reply = static_cast<QNetworkReply*>(sender());
QNetworkAccessManager *m = reply->manager();
m->setCookieJar(new CookieJar(this));
qDebug() << reply->readAll();
boutonEnvoyer->setEnabled(true);
QNetworkRequest requete
(QUrl("http://web.univ-ubs.fr/edt/ade/custom/myplanning/myPlanning.jsp?top=top.moniframeesup"));
QNetworkReply *r = m->get(requete);
qDebug() << "takeLink";
}
void FenPrincipale::takeId()
{
QNetworkAccessManager *m = new QNetworkAccessManager();
QNetworkRequest requete(QUrl("https://cas.univ-ubs.fr/login"));
QNetworkReply *r = m->get(requete);
qDebug() << "takeId";
connect(r, SIGNAL(finished()), this, SLOT(takeCookies()));
connect(r, SIGNAL(error(QNetworkReply::NetworkError)), this,
SLOT(messageErreur(QNetworkReply::NetworkError)));
}
void FenPrincipale::takeCookies()
{
boutonEnvoyer->setEnabled(false);
QNetworkReply *reply = static_cast<QNetworkReply*>(sender());
QNetworkAccessManager *m = reply->manager();
// Récupère L'id
QString source = reply->readAll();
QString lt = source.section("\"",119,119);
// Récupère le Cookie JSession
source = source.section("\"",41,41);
// Contruit le cookie
QString data;
data = "JSESSIONID";
data += source.remove(QRegExp("[a-z/;]"));
data += "; expires=Sun, 12-Aug-2012 17:59:28 GMT; domain=cas.univ-ubs.fr; path=/";
qDebug() << "takeCookies =" << data;
QFile f("Cookies.txt");
QTextStream out(&f);
if ( f.open(QIODevice::ReadWrite) )
{
QString exist = out.readAll();
if (exist.indexOf("cas") != -1 )
{
out.seek(0);
qDebug() << "seek";
}
out << data;
f.close();
}
m->setCookieJar(new CookieJar(this));
QUrl postData;
postData.addQueryItem("username","");
postData.addQueryItem("password",var2_Edit->text());
postData.addQueryItem("warn", "true");
postData.addQueryItem("lt", lt);
postData.addQueryItem("_eventId", "submit");
postData.addQueryItem("submit", "SE CONNECTER");
// On crée une requête
QNetworkRequest requete(QUrl(urlEdit1->text()));
QNetworkReply *r;
if (box2->isChecked())
{
requete.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded");
r = m->post(requete, postData.encodedQuery());
}
// Gestion des erreurs
connect(r, SIGNAL(error(QNetworkReply::NetworkError)), this, SLOT(messageErreur(QNetworkReply::NetworkError)));
// Gestion de fin de téléchargement
connect(r, SIGNAL(finished()), this, SLOT(takeLink()));
// Gestion de la barre de progression
connect(r, SIGNAL(downloadProgress(qint64, qint64)), this, SLOT(progressionTelechargement(qint64, qint64)));
connect(r, SIGNAL(sslErrors(const QList<QSslError>&)), this, SLOT(ErreurSsl(const QList<QSslError>&)));
connect(m, SIGNAL(authenticationRequired(QNetworkReply*, QAuthenticator*)),
this,SLOT(authentification(QNetworkReply*, QAuthenticator*)));
}
void FenPrincipale::takeLink()
{
QNetworkReply *reply = static_cast<QNetworkReply*>(sender());
QNetworkAccessManager *m = reply->manager();
m->setCookieJar(new CookieJar(this));
qDebug() << reply->readAll();
boutonEnvoyer->setEnabled(true);
QNetworkRequest requete(QUrl("http://web.univ-ubs.fr/edt/ade/custom/myplanning/myPlanning.jsp?top=top.moniframeesup"));
QNetworkReply *r = m->get(requete);
qDebug() << "takeLink";
}
To copy to clipboard, switch view to plain text mode
Bookmarks