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 :

Obtenir le code source d'une page web avec WebBrowser et intercepter les erreurs de script


Sujet :

Web & réseau Delphi

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2012
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2012
    Messages : 23
    Points : 22
    Points
    22
    Par défaut Obtenir le code source d'une page web avec WebBrowser et intercepter les erreurs de script
    Bonjour à tous,

    J'aimerais obtenir le code source d'une page web http://www.nationalgeographic.com/. J'ai essayé à l'aide des composants Indy IdHttp et TWebBrowser, mais je n'y parviens pas.

    Il semble que ce soit un contenu dynamique créé à l'exécution et non affiché dans le source (uniquement un script et des liens).

    Auriez-vous une piste pour obtenir le contenu de la page tel qu'il est affiché dans le WebBrowser ?

  2. #2
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 430
    Points
    28 430
    Par défaut
    wouah ! c'est blindé de Javascript ce site ! en effet

    peut-être avec Delphi Chromium, au besoin Henri pourra te renseigner je pense.
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    707
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 707
    Points : 777
    Points
    777
    Par défaut
    Tu devrais utiliser un analyseur de trafic comme Fiddler, ça te permettra de comprendre les flux de données sur ce site et d'obtenir ce que tu veux en envoyant les bonnes requêtes; très probablement le contenu que tu cherches à obtenir est transmis au format JSON...

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2012
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2012
    Messages : 23
    Points : 22
    Points
    22
    Par défaut utiliser WebBrowser
    Bonjour,
    merci pour les suggestions.
    J'ai pu obtenir la source avec un WebBrowser. pOur cela, le probleme est en partie resolut. Je creer le webbrowser, charge le contenue avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MyBrowser.Document as IHTMLDocument2;
    et puis liber. Ca marche tres bien, mais (j'ai changé le titre pour resoudre ce nouveau probleme)

    J'ai certain pages qui ouvrent un fenetre erreur "res://ieframe.dll/".
    J'ai essaié plusieurs solutions :

    1.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MyBrowser.Silent := True;
    Ca ne donne rien.

    2.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MyBrowser.OnNewWindow2 := TMyActions.BlockNewWindow;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    class procedure TMyActions.BlockNewWindow(Sender: TObject; var ppDisp: IDispatch; var Cancel: WordBool);
    Begin
      Cancel := True;
    End;
    Cela ne donne rien aussi. La fonction n'est pas appelé quand j'ai le fenetre erreur qui s'ouvre.

    Une idee comment intercepter les erreurs "res://ieframe.dll/" sans qu'il y a des messages ou fenetres qui s'ouvrent ?

  5. #5
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 855
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 855
    Points : 11 291
    Points
    11 291
    Billets dans le blog
    6
    Par défaut
    j'ai changé le titre pour résoudre ce nouveau problème
    Bonjour,

    Ce n'est pas la meilleure méthode (j'ai d'ailleurs fusionné les 2 titres) : merci à l'avenir d'ouvrir une nouvelle discussion pour une nouvelle question : ça permettra de ne pas fausser les recherches de solutions d'autres utilisateurs se basant sur les mots clefs du titre.

    Par ailleurs, malheureusement, je n'ai pas d'idée pour ton souci...
    Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
    . Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !

Discussions similaires

  1. Sécurisation sources/code d'accès appli VBA Excel
    Par Pat_TOTO dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 02/09/2006, 17h39
  2. [c++]Source code de Paint
    Par cjacquel dans le forum C++/CLI
    Réponses: 2
    Dernier message: 08/08/2006, 22h14
  3. Check this out : Aerith source code has been released
    Par bbclone dans le forum AWT/Swing
    Réponses: 17
    Dernier message: 06/07/2006, 18h18
  4. Empecher la visualisation du code d'un script PERL
    Par TigreRouge dans le forum Langage
    Réponses: 33
    Dernier message: 20/03/2006, 18h04
  5. Return code d'un script sur serveur distant
    Par Koobor dans le forum Linux
    Réponses: 2
    Dernier message: 10/11/2005, 09h09

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