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 :

code source d'une page web


Sujet :

Web & réseau Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 117
    Par défaut code source d'une page web
    Bonjour,

    Je souhaiterais faire une appli assez basique, où j'ai besoin de récupérer le code source d'une page web, sans la télécharger dans un navigateur

    Est-il possible de faire cela ?

    Merci par avance pour votre aide

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

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 938
    Billets dans le blog
    6
    Par défaut
    No problem : un NMHTTP (pê pas dispo dans les versions persos) et un simple Get(URL), ou un TWebBrowser invisible et un Navigate. Voire le IdHTTP (Indy), ou d'autres solutions encore...
    Ils ont tous des propriétés Body ou IneerHTML qui contiennent le source.
    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 !

  3. #3
    Membre émérite
    Avatar de ouiouioui
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2006
    Messages
    993
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2006
    Messages : 993
    Par défaut
    voila ce que j'utilise

    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    Unit Unit6;
     
    Interface
     
    Uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls, WinInet;
     
    Type
      TForm6 = Class(TForm)
        Button1: TButton;
        Memo1:   TMemo;
        Procedure Button1Click(Sender: TObject);
      Private
        Function DownAndReturnThis(URL: String): String;
        { Déclarations privées }
      Public
        { Déclarations publiques }
      End;
     
    Var
      Form6: TForm6;
     
    Implementation
     
    {$R *.dfm}
     
    Procedure TForm6.Button1Click(Sender: TObject);
    Begin
      memo1.Lines.Text := DownAndReturnThis(
        'http://www.developpez.net/forums/d990378/environnements-developpement/delphi/web-reseau/code-source-page-web/');
    End;
     
    Function TForm6.DownAndReturnThis(URL: String): String;
    Const
      Agent = 'Check for update';
    Var
      hFile, HInet: HINTERNET;
      Buffer:       Array[0..32767] Of Char;
      BufRead:      Cardinal;
      BufSize:      Cardinal;
    Begin
      // on met le résultat vide si il y a une erreur
      Result := '';
      HInet  := InternetOpen(PChar(Agent), INTERNET_OPEN_TYPE_PRECONFIG, NIL, NIL, 0);
      If Assigned(HInet) Then
        Try
          //on essaye d'ouvrir l'adresse du fichier
          hFile := InternetOpenUrl(HInet, PChar(URL), NIL, 0, INTERNET_FLAG_RELOAD + INTERNET_FLAG_NO_CACHE_WRITE +
            INTERNET_FLAG_EXISTING_CONNECT + INTERNET_FLAG_NO_COOKIES, 0);
          //si on a réussi à l'ouvrir
          If Assigned(hFile) Then
            Try
              //on essaie de récupérer les données du fichier
              BufSize := SizeOf(Buffer);
              With TStringStream.Create('') Do
                Try
                  While InternetReadFile(hFile, @Buffer, BufSize, BufRead) And (BufRead > 0) Do
                    Write(Buffer, BufRead);
                  //le résultat est le fichier téléchargé
                  Result := DataString;
                Finally
                  Free; //on libère l'élément qui a permet de stocker le téléchargement de fichiers
                End;
            Finally
              InternetCloseHandle(hFile);
            End;
        Finally
          InternetCloseHandle(hinet);
        End;
    End;
     
    End.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 117
    Par défaut
    merci beaucoup pour votre aide.

    Vraiment top ce forum

    J'utilise delphi 2005 personnal (j'avais omis cette précision)

    Y aurait-il une librairie à se procurer, pour faire marcher ces solutions ?

    HINTERNET est un type de variable que mon compilo ne reconnait pas

    Si, il reconnanit, si je mets la directive wininet dans les uses

    Donc

  5. #5
    Membre Expert

    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 935
    Par défaut
    Salut

    Je te conseilles les composants Indy 10.
    http://delphipage.free.fr/indyd2005.html
    Ils sont simples a utiliser et permettent plein de trucs. Tu peux te servir de IdHTTP pour obtenir le code source de ta page web ...

    Bonne chance

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

Discussions similaires

  1. Télécharger le code source d'une page web en C
    Par DooSquare dans le forum Bibliothèques
    Réponses: 21
    Dernier message: 28/06/2007, 17h24
  2. comment charger le code source d'une page web avec dotnet ?
    Par gizgoz dans le forum Général Dotnet
    Réponses: 1
    Dernier message: 14/05/2007, 20h51
  3. Ouvrir le code source d'une page WEB
    Par jacques13 dans le forum Général VBA
    Réponses: 1
    Dernier message: 17/12/2006, 08h01
  4. Récupérer le code source d'une page web
    Par glRaZ dans le forum C++Builder
    Réponses: 4
    Dernier message: 08/12/2004, 09h16

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