IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Qt Discussion :

Problème avec QHttp


Sujet :

Qt

  1. #1
    Membre du Club
    Inscrit en
    Mai 2008
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 117
    Points : 58
    Points
    58
    Par défaut Problème avec QHttp
    Bonjour,
    je veut me connecter à serveur web ( sur un réseau local) pour exécuter un script perl et récupérer le résultat. Alors, j'essaye tout d'abord de me connecter au serveur et je n'y arrive pas!
    j'ai essayé de me connecter à un autre serveur "google.com" et toujours pas de resultat
    Est ce que quelqu'un peut me dire comment il faut que je fasse?
    et exite-t-il un tutorial simple que je peut suivre?
    Merci d'avance

  2. #2
    Membre averti

    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2006
    Messages
    281
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 281
    Points : 356
    Points
    356
    Par défaut
    Bonjour,

    Serait-il possible de préciser un peu ce qui est fait (exemple de code, les étapes...), parce que là dis comme ça, ça devrait marcher

  3. #3
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 859
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 859
    Points : 218 580
    Points
    218 580
    Billets dans le blog
    120
    Par défaut
    Bonjour,

    Vous voulez vous connecter à un site web mais pour quoi faire?
    Lorsque vous parlez de connection, vous parlez juste d'envoyer une requete et d'avoir une réponse, et non de connexion avec identification et mot de passe?

    Vous pouvez d'abord regarder l'example de la doc de Qt sur QHttp ( exemple qui télécharge une page web )

    Sinon, pour savoir bien construire les requêtes pour le serveur, j'ai utilisé LiveHTTPHeaders ( un plugin firefox ) pour connaitre les informations à faire envoyer par Qt ( soit je simule le comportement de firefox dans Qt )

    Il y a aussi ceci: http://qtwiki.org/QHTTP_send_post_request
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  4. #4
    Membre du Club
    Inscrit en
    Mai 2008
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 117
    Points : 58
    Points
    58
    Par défaut
    Bonjour,
    Merci pour les réponses.
    concernant le code je fais ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    http= new QHttp("41.229.148.177", QHttp::ConnectionModeHttps);
    QHttpRequestHeader header("GET", QUrl::toPercentEncoding("/index.html"));
    header.setValue("Host", "41.229.148.177");
    http->setHost("41.229.148.177");
    http->request(header);
    mon but de connexion au serveur est d'exécuter un script perl et de recevoir la réponse, mais je n'arrive même pas à récupérer une page à partir du serveur.
    en fait,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     QHttp::State s=http->state();
    me rend tjrs QHttp::Unconnected !!

  5. #5
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 859
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 859
    Points : 218 580
    Points
    218 580
    Billets dans le blog
    120
    Par défaut
    J'utilise un QUrl pour mes connections

    Avec ce genre de configuration:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    this->setHost( 	
    					url->host(), 
    					url->scheme().toLower() == "https" ? QHttp::ConnectionModeHttps : QHttp::ConnectionModeHttp,
    					url->port() == -1 ? 0 ::url->port()
    				 );
    Je suis dans une classe hérité de QHttp
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  6. #6
    Membre du Club
    Inscrit en
    Mai 2008
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 117
    Points : 58
    Points
    58
    Par défaut probleme Qhttp sécurisation
    Bonjour,
    Merci pour les réponses.
    maintenant je rencontre un autre problème lié à https, lors de l'exécution de mon code
    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
    QUrl url("https://41.229.148.177/index.html");
    	QFileInfo fileInfo(url.path());
    	QString fileName = fileInfo.fileName();
    	file = new QFile(fileName);
    	QHttp::ConnectionMode mode =
    			url.scheme().toLower() == "https" ? QHttp::ConnectionModeHttps
    					: QHttp::ConnectionModeHttp;
    	http->setHost(url.host(), mode, url.port() == -1 ? 0 : url.port());
     
    	if (!url.userName().isEmpty())
    		http->setUser(url.userName(), url.password());
     
    	QByteArray path = QUrl::toPercentEncoding(url.path(), "!$&'()*+,;=:@/");
    	if (path.isEmpty())
    		path = "/";
    	httpGetId = http->get(path, file);
    j'obtiens:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    QHttp::setHost: HTTPS connection requested but SSL support not compiled in
    ???

  7. #7
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 859
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 859
    Points : 218 580
    Points
    218 580
    Billets dans le blog
    120
    Par défaut
    Êtes vous sous windows?

    Je suis sur qu'une recherche sur le forum, ou les tutos vous indiquera la réponse. Ça semble un problème classique du moins sous windows
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  8. #8
    Membre du Club
    Inscrit en
    Mai 2008
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 117
    Points : 58
    Points
    58
    Par défaut
    Bonjour,
    Oui je suis sous windows.
    Est ce que quelqu'un peut me dire comment compiler Qt?
    En fait en la compilant en activant le support openssl j'obtient l'erreur suivante:
    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
    56
    57
    58
    59
    In file included from ssl\qsslcertificate.cpp:113:
    ssl\/qsslkey_p.h:59:25: openssl/rsa.h: No such file or directory
    ssl\/qsslkey_p.h:60:25: openssl/dsa.h: No such file or directory
    In file included from ssl\qsslcertificate.cpp:113:
    ssl\/qsslkey_p.h:90: error: ISO C++ forbids declaration of `RSA' with no type
    ssl\/qsslkey_p.h:90: error: expected `;' before '*' token
    ssl\/qsslkey_p.h:91: error: ISO C++ forbids declaration of `DSA' with no type
    ssl\/qsslkey_p.h:91: error: expected `;' before '*' token
    ssl\/qsslkey_p.h: In constructor `QSslKeyPrivate::QSslKeyPrivate()':
    ssl\/qsslkey_p.h:68: error: class `QSslKeyPrivate' does not have any field named `rsa'
    ssl\/qsslkey_p.h:69: error: class `QSslKeyPrivate' does not have any field named `dsa'
    ssl\qsslcertificate.cpp: In member function `QMultiMap<QSsl::AlternateNameEntryType, QString> QSslCertificate::alternateSubjectNames() const':
    ssl\qsslcertificate.cpp:365: error: `STACK' undeclared (first use this function)
    ssl\qsslcertificate.cpp:365: error: (Each undeclared identifier is reported only once for each function it appears in.)
    ssl\qsslcertificate.cpp:365: error: `altNames' undeclared (first use this function)
    ssl\qsslcertificate.cpp:365: error: expected primary-expression before ')' token
    ssl\qsslcertificate.cpp:365: error: expected `;' before "q_X509_get_ext_d2i"
    ssl\qsslcertificate.cpp:368: error: expected primary-expression before "int"
    ssl\qsslcertificate.cpp:368: error: expected `)' before "int"
    ssl\qsslcertificate.cpp:368: error: expected `)' before ';' token
    ssl\qsslcertificate.cpp:369: error: expected primary-expression before "const"
    ssl\qsslcertificate.cpp:369: error: expected `;' before "const"
    ssl\qsslcertificate.cpp:370: error: `genName' undeclared (first use this function)
    ssl\qsslcertificate.cpp:370: error: `GEN_DNS' undeclared (first use this function)
    ssl\qsslcertificate.cpp:370: error: `GEN_EMAIL' undeclared (first use this function)
    ssl\qsslcertificate.cpp:373: error: `q_ASN1_STRING_length' cannot be used as a function
    ssl\qsslcertificate.cpp:379: error: `q_ASN1_STRING_data' cannot be used as a function
    ssl\qsslcertificate.cpp:386: error: `q_sk_free' cannot be used as a function
    ssl\qsslcertificate.cpp: In member function `QSslKey QSslCertificate::publicKey() const':
    ssl\qsslcertificate.cpp:441: error: `X509_PUBKEY' undeclared (first use this function)
    ssl\qsslcertificate.cpp:441: error: `xkey' undeclared (first use this function)
    ssl\qsslcertificate.cpp:441: error: invalid use of undefined type `struct x509_st'
    ../../include/QtNetwork/../../src/network/ssl/qsslcertificate.h:52: error: forward declaration of `struct x509_st'
    ssl\qsslcertificate.cpp:442: error: `EVP_PKEY' undeclared (first use this function)
    ssl\qsslcertificate.cpp:442: error: `pkey' undeclared (first use this function)
    ssl\qsslcertificate.cpp:442: error: `q_X509_PUBKEY_get' undeclared (first use this function)
    ssl\qsslcertificate.cpp:445: error: `EVP_PKEY_RSA' undeclared (first use this function)
    ssl\qsslcertificate.cpp:446: error: 'class QSslKeyPrivate' has no member named 'rsa'
    ssl\qsslcertificate.cpp:446: error: `q_EVP_PKEY_get1_RSA' undeclared (first use this function)
    ssl\qsslcertificate.cpp:449: error: `EVP_PKEY_DSA' undeclared (first use this function)
    ssl\qsslcertificate.cpp:450: error: 'class QSslKeyPrivate' has no member named 'dsa'
    ssl\qsslcertificate.cpp:450: error: `q_EVP_PKEY_get1_DSA' undeclared (first use this function)
    ssl\qsslcertificate.cpp:453: error: `EVP_PKEY_DH' undeclared (first use this function)
    ssl\qsslcertificate.cpp:459: error: `q_EVP_PKEY_free' cannot be used as a function
    ssl\qsslcertificate.cpp: In static member function `static QSslCertificate QSslCertificatePrivate::QSslCertificate_from_X509(X509*)':
    ssl\qsslcertificate.cpp:666: error: `q_X509_get_issuer_name' undeclared (first use this function)
    ssl\qsslcertificate.cpp:666: error: `q_X509_NAME_oneline' cannot be used as a function
    ssl\qsslcertificate.cpp:668: error: `q_X509_get_subject_name' undeclared (first use this function)
    ssl\qsslcertificate.cpp:668: error: `q_X509_NAME_oneline' cannot be used as a function
    ssl\qsslcertificate.cpp:670: error: `ASN1_TIME' undeclared (first use this function)
    ssl\qsslcertificate.cpp:670: error: `nbef' undeclared (first use this function)
    ssl\qsslcertificate.cpp:670: error: `X509_get_notBefore' undeclared (first use this function)
    ssl\qsslcertificate.cpp:671: error: `naft' undeclared (first use this function)
    ssl\qsslcertificate.cpp:671: error: `X509_get_notAfter' undeclared (first use this function)
    mingw32-make[2]: *** [tmp/obj/debug_shared/qsslcertificate.o] Error 1
    mingw32-make[2]: Leaving directory `C:/Qt/4.5.0/src/network'
    mingw32-make[1]: *** [debug-all] Error 2
    mingw32-make[1]: Leaving directory `C:/Qt/4.5.0/src/network'
    mingw32-make: *** [sub-network-make_default-ordered] Error 2

  9. #9
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Août 2008
    Messages
    26 618
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 26 618
    Points : 188 593
    Points
    188 593
    Par défaut
    Juste comme ça : as-tu installé OpenSSL avant de lancer l'installation ? (http://www.openssl.org/) Ton compilateur y a-t-il accès ?
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  10. #10
    Nouveau membre du Club
    Inscrit en
    Mars 2009
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 30
    Points : 25
    Points
    25
    Par défaut
    Bonjour,
    j'avais le même pb,
    oui j'ai installé OpenSSL avant de lancer l'installation mais mon compilateur n'y avait pas accès
    maintenant c'est bon
    Merci

Discussions similaires

  1. Problème de lecture de flux avec QHttp->read()
    Par looclooc dans le forum Débuter
    Réponses: 4
    Dernier message: 13/08/2009, 09h19
  2. VC++ Direct3D8, problème avec LPD3DXFONT et LPD3DTEXTURE8
    Par Magus (Dave) dans le forum DirectX
    Réponses: 3
    Dernier message: 03/08/2002, 11h10
  3. Problème avec le type 'Corba::Any_out'
    Par Steven dans le forum CORBA
    Réponses: 2
    Dernier message: 14/07/2002, 18h48
  4. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo