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

Web & réseau Delphi Discussion :

[Delphi2006] [TidHTTP] Attendre un peu avant de copier le code source


Sujet :

Web & réseau Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Avatar de xenos
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    400
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 400
    Par défaut [Delphi2006] [TidHTTP] Attendre un peu avant de copier le code source
    Bonjour,

    J'aimerais enregistrer le code source d'une page internet via un TidHTTP. Le problème est qu'il y a du JavaScript sur la page et qu'il lui faut quelques secondes pour générer les informations.

    L'idéal serait de charger la page, attendre 5 secondes et ensuite copier le code source. Cependant je ne vois pas comment faire ça avec un TidHTTP.

    En lançant le code suivant, il me renvoi évidemment une erreur, cependant je ne vois pas comment faire pour obtenir ce dont j'ai besoin :

    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
    procedure TForm1.Button1Click(Sender: TObject);
    var
      temps : Cardinal;
      test : TSTringlist;
     
    begin
      test := TStringlist.Create;
     
      test.Add(idHTTP1.Get('http://www.google.be');
     
      temps := GetTickCount;
      repeat
        sleep(10);
      until ((GetTickCount - 5000) > temps);
     
      test.Add(idHTTP1);
     
      memo_texte.Text := test.Text;
    end;
    D'avance merci pour votre aide.



    xenos

  2. #2
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 236
    Par défaut
    Tu ne peux pas, c'est IdHttp qui gére la réception du code, donc si la page lui indique que le chargement est fini, alors à ce moment la tu as les informations dans ta TStringList test.
    Si le javascript se déclanche après la fin du chargement de la page, tu ne pourras pas récuérer les informations.
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  3. #3
    Membre éclairé
    Avatar de xenos
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    400
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 400
    Par défaut
    Merci pour ta réponse Rayek.

    La seule alternative que j'ai est donc d'utiliser un TWebBrowser ?

    Composant qui est largement plus gourmand en ressources ...

  4. #4
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 236
    Par défaut
    Citation Envoyé par xenos Voir le message
    Merci pour ta réponse Rayek.

    La seule alternative que j'ai est donc d'utiliser un TWebBrowser ?

    Composant qui est largement plus gourmand en ressources ...
    Malheureusement oui, ou sinon tu peux essayer avec la librairie Mozilla/Firefox (mais je ne sais plus ou la trouver ca fait un moment) qui pourra remplacer le WebBrowser.
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  5. #5
    Membre éclairé
    Avatar de xenos
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    400
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 400
    Par défaut
    Citation Envoyé par Rayek Voir le message
    Malheureusement oui, ou sinon tu peux essayer avec la librairie Mozilla/Firefox (mais je ne sais plus ou la trouver ca fait un moment) qui pourra remplacer le WebBrowser.
    Je vais donc rester sur le TidHTTP, n'étant pas sûr que la librairie Mozilla/Firefox soit spécialement plus rapide.

    Encore merci pour ton aide Rayek.

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

Discussions similaires

  1. Attendre un changement avant de continuer
    Par diffy dans le forum VB.NET
    Réponses: 4
    Dernier message: 27/06/2008, 14h35
  2. Réponses: 19
    Dernier message: 13/01/2008, 23h33
  3. Tamponiser avant de copier dans un fichier ?
    Par Mersenne dans le forum Langage
    Réponses: 7
    Dernier message: 26/09/2006, 12h37
  4. Attendre 5 secondes avant Next Action
    Par Lux interior dans le forum XMLRAD
    Réponses: 4
    Dernier message: 24/08/2006, 10h15
  5. [C#] attendre la fermeture d'1 form avant la reprise du code
    Par rastali dans le forum Windows Forms
    Réponses: 4
    Dernier message: 05/01/2006, 11h21

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