Salut à tous !
Je fais un petit programme pour se connecter à un site internet grace aux requetes HTTP de QNetwork.
Voici le code allégé :

Requete.hpp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#ifndef REQUETE_HPP
#define REQUETE_HPP
#include <QApplication>
#include <QtGui>
#include <QtWebKit>
#include <QWebView>
#include <iostream>
 
 
class Requete : public QWidget {
    Q_OBJECT
    QPushButton *bouton_get;
    QVBoxLayout *layout;
    QNetworkAccessManager *reseau_moteur;
    QNetworkCookieJar *bocal_cookie;
 
public:
    Requete();
    QLineEdit *ligne_pseudo, *ligne_passe;
 
public slots:
    void clic_envoi();
    void resultat_post();
    void resultat_get();
 
};
 
#endif // REQUETE_HPP

Requete.cpp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#include "Requete.hpp"
 
 
Requete::Requete() : QWidget()	{
    ligne_pseudo = new QLineEdit;
    ligne_passe = new QLineEdit;
    bouton_get = new QPushButton;   bouton_get->setText("get");
    layout = new QVBoxLayout(this);
    reseau_moteur = new QNetworkAccessManager;
    bocal_cookie = new QNetworkCookieJar;
 
    layout->addWidget(ligne_pseudo);
    layout->addWidget(ligne_passe);
    layout->addWidget(bouton_get);
 
    QObject::connect( bouton_get, SIGNAL(clicked()), this, SLOT(clic_envoi()) );
}
 
 
void Requete::clic_envoi()  {
    QString dataPost = "d=1320333735028&username=" + ligne_pseudo->text()
		       + "&password=" + ligne_passe->text()
		       + "&remindme=1" ;
 
    QNetworkRequest reseau_requete( QUrl( "http://www.developpez.com/user/login" ) );
    QNetworkReply* reseau_retour = reseau_moteur->post( reseau_requete, dataPost.toLatin1() );
    QObject::connect( reseau_retour, SIGNAL(finished()), this, SLOT(resultat_post()) );
}
void Requete::resultat_post()	{   // Recuperation des coockies de session
    QNetworkReply* get = qobject_cast<QNetworkReply*>(sender());
    if( get->error()==QNetworkReply::NoError )	{
	// La requete retourne bien les cookies recus dans liste_SetCookie
	QList<QNetworkCookie> liste_SetCookie = QNetworkCookie::parseCookies( get->rawHeader( "Set-Cookie" ) );
	bocal_cookie->setCookiesFromUrl( liste_SetCookie, get->url() );
	// Aucun effet
	reseau_moteur->setCookieJar( bocal_cookie );	
	//
	QNetworkRequest reseau_requete( QUrl( "http://www.developpez.com" ) );
	// Petit test d'envoi avec qnetworkrequest qui ne change strictement rien
	reseau_requete.setHeader( QNetworkRequest::CookieHeader, QVariant::fromValue<QList<QNetworkCookie> > (liste_SetCookie) );
	//
	QNetworkReply* reseau_retour = reseau_moteur->get( reseau_requete );
	QObject::connect( reseau_retour, SIGNAL(finished()), this, SLOT(resultat_get()) );
    }
    get->deleteLater();
}
void Requete::resultat_get()	{
    QNetworkReply* get = qobject_cast<QNetworkReply*>(sender());
    if( get->error()==QNetworkReply::NoError )	{
	QWebView *vue_web = new QWebView;
	vue_web->setHtml( QString(get->readAll()) );
	vue_web->show();
    }
    get->deleteLater();
}

Rien à faire la page est toujours lancé en invité...

Je suis dessus depuis ce matin, je désespère de faire fonctionner mes sessions c'est pourquoi j'invoque votre expérience pour me venir en aide.