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

C++Builder Discussion :

Récupérer le Code d'une page HTML


Sujet :

C++Builder

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de kurul1
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    934
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 934
    Par défaut Récupérer le Code d'une page HTML
    Bonjour à tous

    J'essaye de récupérer le code source d'une page HTML dans un programme pour l'analyser et j'ai une erreur systématiquement

    J'ai suivit plusieurs post sur ce forum mais sans résultats

    j'ai ceci comme erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Exception 'first chance' à $7563C41F. Classe d'exception EIdHTTPProtocolException avec un message 'HTTP/1.1 302 Found'. Processus .....
    il semble qu'il manque quelque chose mais je ne sais pas quoi

    j'utilise le composant TidHTTP
    Voici mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    TMemoryStream *Stream = new TMemoryStream();
    IdHTTP->Get(EditURL->Text, Stream);
     
    TStringList *Liste = new TStringList();
    Liste->LoadFromStream(Stream);
    L'erreur est sur la ligne Get

    Merci d'avance pour votre aide

  2. #2
    Membre confirmé
    Inscrit en
    Août 2010
    Messages
    123
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 123
    Par défaut
    Je fais plutôt comme ça pour récupérer une page :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    TStringStream* pStringStream = new TStringStream();
    TIdHTTP* mpIdHTTP = new TIdHTTP(NULL);
    mpIdHTTP->ReadTimeout = 2000;
    try
        {
        mpIdHTTP->Get(url, pStringStream);
        }
    catch(Exception &e)
        {
        ...
        }
    ShowMessage(pStringStream->DataString);
    ...

  3. #3
    Candidat au Club
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Décembre 2012
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2012
    Messages : 1
    Par défaut
    Citation Envoyé par kurul1 Voir le message
    Bonjour à tous

    J'essaye de récupérer le code source d'une page HTML dans un programme pour l'analyser et j'ai une erreur systématiquement

    J'ai suivit plusieurs post sur ce forum mais sans résultats

    j'ai ceci comme erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Exception 'first chance' à $7563C41F. Classe d'exception EIdHTTPProtocolException avec un message 'HTTP/1.1 302 Found'. Processus .....
    il semble qu'il manque quelque chose mais je ne sais pas quoi

    j'utilise le composant TidHTTP
    Voici mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    TMemoryStream *Stream = new TMemoryStream();
    IdHTTP->Get(EditURL->Text, Stream);
     
    TStringList *Liste = new TStringList();
    Liste->LoadFromStream(Stream);
    L'erreur est sur la ligne Get

    Merci d'avance pour votre aide
    Soit plus explicite

  4. #4
    Membre éclairé Avatar de kurul1
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    934
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 934
    Par défaut
    Tout d'abord merci à vous deux pour vos réponses

    Citation Envoyé par PocoYote Voir le message
    Je fais plutôt comme ça pour récupérer une page :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    TStringStream* pStringStream = new TStringStream();
    TIdHTTP* mpIdHTTP = new TIdHTTP(NULL);
    mpIdHTTP->ReadTimeout = 2000;
    try
        {
        mpIdHTTP->Get(url, pStringStream);
        }
    catch(Exception &e)
        {
        ...
        }
    ShowMessage(pStringStream->DataString);
    ...
    J'ai toujours la même erreur en utilisant ta méthode PocoYote

    Citation Envoyé par papemignane Voir le message
    Soit plus explicite
    En quoi voudrais-tu que je soit plus explicite papemignane. Je voudrais récupérer le code HTML d'une page dont je connais l'URL pour analyse son code

  5. #5
    Membre très actif Avatar de Argol_Medusa
    Homme Profil pro
    Ingénieur Radiofréquences
    Inscrit en
    Août 2005
    Messages
    208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Radiofréquences
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 208
    Par défaut
    Citation Envoyé par kurul1 Voir le message
    Bonjour à tous

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    TMemoryStream *Stream;
    Stream = new TMemoryStream();
    IdHTTP->Get(EditURL->Text, Stream);
    J'utilise exactement la même méthode, ça fonctionne.

    Est-ce que tu n'as pas un firewall qui bloque ou quelque chose comme ça plutôt?

    Par expérience c'est toujours un problème de blocage de port dans 80% des cas

    ( Par contre oublie pas de delete tes objets )

  6. #6
    Membre éclairé Avatar de kurul1
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    934
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 934
    Par défaut
    J'y ai pensé justement et j'ai essayé en désactivant le parefeu mais c'est pareil

    Pour préciser un peut mon erreur, j'ai une boite de dialogue avec marqué HTTP/1.1.302 Fond qui s'affiche

  7. #7
    Membre confirmé
    Inscrit en
    Août 2010
    Messages
    123
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 123
    Par défaut
    http://en.wikipedia.org/wiki/HTTP_302

    A priori il te propose une redirection.

  8. #8
    Membre éclairé Avatar de kurul1
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    934
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 934
    Par défaut
    Ok merci pour ta réponse mais je ne sais pas comment faire pour passer outre, car moi la redirection ne m'intéresse pas, ce que je veux c'est le code de la page en cours

  9. #9
    Membre Expert
    Avatar de Crayon
    Inscrit en
    Avril 2005
    Messages
    1 811
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 811
    Par défaut
    Salut, pour les redirection il suffit d'ajouter ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    IdHTTP->HandleRedirects = true;
    Si tu veux plus d’exemple avec TIdHTTP, va faire un tour sur mon blogue. Je me suis pas mal amusé avec ça récemment: http://www.optimatek.com/category/cppbuilder/

Discussions similaires

  1. Récupérer le code d'une page html contenue dans un balise object sous I
    Par olivier21c dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 10/05/2008, 16h48
  2. Récupérer des info dans une page html
    Par DORBRITZ dans le forum VB 6 et antérieur
    Réponses: 9
    Dernier message: 06/03/2008, 11h13
  3. vérifier du code dans une page html
    Par robert_trudel dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 16/06/2006, 01h17
  4. Récupérer des données sur une page HTML
    Par rupeni dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 18/11/2005, 17h22
  5. Récupérer des données dans une page HTML
    Par newdelirium dans le forum Langage
    Réponses: 3
    Dernier message: 26/10/2005, 19h18

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