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 :

récupérer une info d'une balise avec Http


Sujet :

Qt

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    264
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 264
    Points : 52
    Points
    52
    Par défaut récupérer une info d'une balise avec Http
    Salut à tous !

    Et oui c'est encore moi je suis entrain de découvrir des tas de problème

    J'ai trouver un nouveau petit problème c'est le code qui me permet de récupérer une infos d'une requête Http...

    Voilà ce bout de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Http t;
            QString pseudo = t.Recv().c_str();
            pseudo = pseudo.mid(pseudo.indexOf("<pseudo>")+QString("<pseudo>").size(),pseudo.indexOf("</pseudo>"));
            QMessageBox::information(0, tr("Votre Pseudo est :"),pseudo);
    Donc le but de ce code c'est de m'afficher que les infos de la balise <pseudo> et </pseudo>

    mais il m'affiche ça à la place :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    austin.fla</pseudo><mdp>dgfdg</mdp></client>
    0
     
    +"
    Merci

  2. #2
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    Salut
    essai un truc comme cela
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     QString pseudo = t.Recv().c_str();
     int debut = pseudo.indexOf("<pseudo>") + QString("<pseudo>").size();
     int  taille    = pseudo.indexOf("</pseudo>") - debut;
     pseudo = pseudo.mid(debut,taille);
      QMessageBox::information(0, tr("Votre Pseudo est :"),pseudo);

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    264
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 264
    Points : 52
    Points
    52
    Par défaut
    Merci tu gères, ça fonctionne parfaitement bien !

    Mais ce que je comprends pas c'est ça maintenant :

    Si je fais ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    QString pseudo = t.Recv().c_str();
            int debut_pseudo = pseudo.indexOf("<pseudo>") + QString("<pseudo>").size();
            int taille_pseudo = pseudo.indexOf("</pseudo>") - debut_pseudo;
            pseudo = pseudo.mid(debut_pseudo,taille_pseudo);
            QMessageBox::information(0, tr("Votre Pseudo est :"),pseudo);
     
            QString mdp = t.Recv().c_str();
            int debut_mdp = mdp.indexOf("<mdp>") + QString("<mdp>").size();
            int taille_mdp = mdp.indexOf("</mdp>") - debut_mdp;
            mdp = mdp.mid(debut_mdp,taille_mdp);
            //QMessageBox::information(0, tr("Votre mot de passe est :"),mdp);
    ça marche parfaitement !

    Si je fais ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    QString pseudo = t.Recv().c_str();
            int debut_pseudo = pseudo.indexOf("<pseudo>") + QString("<pseudo>").size();
            int taille_pseudo = pseudo.indexOf("</pseudo>") - debut_pseudo;
            pseudo = pseudo.mid(debut_pseudo,taille_pseudo);
            QMessageBox::information(0, tr("Votre Pseudo est :"),pseudo);
     
            QString mdp = t.Recv().c_str();
            int debut_mdp = mdp.indexOf("<mdp>") + QString("<mdp>").size();
            int taille_mdp = mdp.indexOf("</mdp>") - debut_mdp;
            mdp = mdp.mid(debut_mdp,taille_mdp);
            QMessageBox::information(0, tr("Votre mot de passe est :"),mdp);
    ça ne fonctionne plus correctement j'ai :
    un message avec mon pseudo ça c'est nikel !
    un message vide avec le titre qui est bon... Donc il récupère pas la deuxième variable...

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    264
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 264
    Points : 52
    Points
    52
    Par défaut
    up please

  5. #5
    Membre expérimenté
    Avatar de FloMo
    Homme Profil pro
    Freelance iOS
    Inscrit en
    Juillet 2004
    Messages
    726
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Freelance iOS
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 726
    Points : 1 511
    Points
    1 511
    Par défaut
    Utilise plutôt des expressions régulières : c'est plus clair au final.
    "Il est plus facile de décomposer un problème en ses éléments, forcément plus simples, que de le traiter en sa totalité." (R. Descartes)

    Freelance iOS

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    264
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 264
    Points : 52
    Points
    52
    Par défaut
    C'est à dire ?

  7. #7
    Membre expérimenté
    Avatar de FloMo
    Homme Profil pro
    Freelance iOS
    Inscrit en
    Juillet 2004
    Messages
    726
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Freelance iOS
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 726
    Points : 1 511
    Points
    1 511
    Par défaut
    En utilisant QRegExp.

    Avec une expression telle que

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ^.*<pseudo>(.*)</pseudo>.*<mdp>(.*)</mdp>.*$
    Tu sauras si le texte que tu recherches est disponible.

    S'il est disponible, la première chaîne en retour correspond à la chaîne totale, la seconde correspond à ton pseudo et la troisième à ton mot de passe.

    Si ton contenu est en XML, tu peux aussi utiliser les possibilités du module QtXml.
    "Il est plus facile de décomposer un problème en ses éléments, forcément plus simples, que de le traiter en sa totalité." (R. Descartes)

    Freelance iOS

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    264
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 264
    Points : 52
    Points
    52
    Par défaut
    Merci !

  9. #9
    Membre expérimenté
    Avatar de FloMo
    Homme Profil pro
    Freelance iOS
    Inscrit en
    Juillet 2004
    Messages
    726
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Freelance iOS
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 726
    Points : 1 511
    Points
    1 511
    Par défaut
    Pas de soucis.
    "Il est plus facile de décomposer un problème en ses éléments, forcément plus simples, que de le traiter en sa totalité." (R. Descartes)

    Freelance iOS

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [SP-2010] récupérer les terme d'une colonne d'une liste dans une autre liste
    Par Noruk dans le forum SharePoint
    Réponses: 2
    Dernier message: 09/02/2015, 18h15
  2. Réponses: 6
    Dernier message: 17/09/2012, 09h00
  3. [WD16] Récupérer la valeur d'une colonne d'une table d'une ligne précise
    Par elghers_hocine dans le forum WinDev
    Réponses: 16
    Dernier message: 06/05/2011, 18h11
  4. Récupérer le nom d'une colonne d'une table dans une variable
    Par mimi51340 dans le forum Général Java
    Réponses: 4
    Dernier message: 13/03/2008, 14h23
  5. Réponses: 3
    Dernier message: 06/12/2006, 11h44

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