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

C++Builder Discussion :

Récupérer le code source d'une page web


Sujet :

C++Builder

  1. #1
    Membre à l'essai
    Récupérer le code source d'une page web
    Bonjour,

    J'aimerais pouvoir récupérer le code source d'une page web dans mon programme.

    J'ai essayé avec le composant TCppWebBrowser mais je ne parvient qu'a afficher la page, pas le source.

    Comment dois-je mis prendre ? Y'a-t-il une meilleure solution ?

    Merci

  2. #2
    Futur Membre du Club
    Récupérer le code source d'une page web
    Salut,

    Essaie avec le composant TNMHTTP : c'est simple et efficace.


    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    AnsiString lien ="http://www.google.fr" ;
    TNMHTTP * NMHTTP1 = new TNMHTTP(NULL);
    NMHTTP1->Get(lien);


    ton document web est stocké dans la propriété Body du TNMHTTP
    Pour récupérer ça de manière plus sympa ( ligne par ligne ) tu peux tout transferer dans une TStringList

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    TStringList * Lignes = new TStringList();
    Lignes->Text = NMHTTP1->Body ;


    le parcours et un parcours simple de TStringlist
    int nbLignes = Lignes->Count ;
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    for ( int i = 0 ; i < nbLignes ; ++i )
    {
    	AnsiString taLigne = Lignes->Strings[i] ;
    	// ton traitement...	
    }

    Walla.. Bonne chance.

    Pigriou

  3. #3
    Rédacteur

    Bonjour,

    Le composant TIdHTTP fournira le même genre de service, avec à peu de chose près le même fonctionnement.

    Cordialement,

    Arnaud

  4. #4
    Membre à l'essai
    ça marche nikel, merci beaucoup !

  5. #5
    Membre chevronné
    Excellente info, merci.

    Bien sûr (pour les étourdits), ne pas oublier #include <NMHttp.hpp>.

    En mettant simplement un TMemo sur la forme, un TEdit qui contiendra l'adresse Internet et un bouton pour déclencher l'action, le téléchargement du code HTML peut se concevoir ainsi :

    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
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
    TNMHTTP * NMHTTP1 = new TNMHTTP(NULL);
    TStringList *Lignes = new TStringList();
     
    try
    {
    NMHTTP1->Get(Edit1->Text);
    }
     
    catch(...)
    {
    ShowMessage("erreur");
    }
     
    Lignes->Text = NMHTTP1->Body ;
    Memo1->Lines->AddStrings(Lignes);
     
    delete NMHTTP1;
    delete Lignes;
    }

    À bientôt
    Gilles