Les Snippets

Connexion

Récupérer la source d'une page dans une variable String par API

Niveau requis pour utiliser/comprendre cette source : 1 ( Débutant )
Créé le 09/06/2008 21:56:44 et initié par PCPT [Liste]
Date de mise à jour : 27/12/2009 19:03:21
Vue : 7059
Catégorie(s) : API, Fichier / Disque, Réseau & Internet, Chaîne de caractères
Langages dispo pour ce code :
- VB6, VBA
- VB6, VBA
- Delphi 5
- VB 2005, VB 2008
- C# 2.x, C# 3.x



Langage : VB6 , VBA
Date ajout : 09/06/2008
Posté par PCPT [Liste]
Private Declare Function DeleteFile Lib "kernel32" Alias "DeleteFileA" (ByVal lpFileName As StringAs Long
Private Declare Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA" (ByVal pCaller As LongByVal szURL As String, ByVal szFileName As String, ByVal dwReserved As Long, ByVal lpfnCB As Long) As  Long
 
Function GetStringSourceFromOnlineFile(ByVal  sUrl As String) As String
'   récupère un nom de fichier temporaire
    Dim sTempDest As String
    sTempDest = GetUniqueTempFileName '  http://www.codyx.org/snippet_generer-nom-fichier-temporaire-unique_619.aspx#1876
'   télécharge la page
     If URLDownloadToFile(0&, sUrl, sTempDest, 0&, 0&) = 0  Then
'       on lit le  fichier
        Dim FF As Integer
        FF = FreeFile
        Open sTempDest For Input As #FF
            GetStringSourceFromOnlineFile = Input(LOF(FF), 1)
        Close #FF
'       supprime le fichier temp
        Call DeleteFile(sTempDest)
     End If
End Function

Remarque :
Label1.AutoSize = True
Label1.Caption = "Mon IP WAN : " & GetStringSourceFromOnlineFile("http://www.whatismyip.org")



nécessite ce snippet : http://www.codyx.org/snippet_generer-nom-fichier-temporaire-unique_619.aspx#1876
Langage : VB6 , VBA
Date ajout : 12/11/2008
Posté par Charles Racaud [Liste]
Private Declare Function InternetOpen Lib "wininet.dll" Alias "InternetOpenA" (ByVal sAgent As StringByVal lAccessType As LongByVal sProxyName As StringByVal sProxyBypass As StringByVal lFlags As LongAs Long
Private Declare Function InternetOpenUrl Lib "wininet.dll" Alias "InternetOpenUrlA" (ByVal hOpen As LongByVal sUrl As StringByVal sHeaders As StringByVal lLength As LongByVal lFlags As LongByVal lContext As LongAs Long
Private Declare Function InternetReadFile Lib "wininet.dll" (ByVal hFile As LongByVal sBuffer As StringByVal lNumBytesToRead As Long, lNumberOfBytesRead As LongAs Integer
Private Declare Function InternetCloseHandle Lib "wininet.dll" (ByVal hInet As LongAs Integer
Private Const INTERNET_OPEN_TYPE_PRECONFIG As Long = &H0
Private Const INTERNET_FLAG_RELOAD As Long = &H80000000
Public Function DownloadSource(ByVal Url As StringByVal UserAgent As StringAs String
  Dim hOpen As Long
  Dim hOpenUrl As Long
  Dim sReadBuffer As String * 1024
  Dim lNumberOfBytesRead As Long
  Dim sBuffer As String
  hOpen = InternetOpen(UserAgent, INTERNET_OPEN_TYPE_PRECONFIG, vbNullString, vbNullString, 0)
  hOpenUrl = InternetOpenUrl(hOpen, Url, vbNullString, 0, INTERNET_FLAG_RELOAD, 0)
  Do
    sReadBuffer = vbNullString
    Call InternetReadFile(hOpenUrl, sReadBuffer, Len(sReadBuffer), lNumberOfBytesRead)
    sBuffer = sBuffer & Left$(sReadBuffer, lNumberOfBytesRead)
    DoEvents
  Loop While lNumberOfBytesRead > 0
  If Not hOpenUrl = 0 Then Call InternetCloseHandle(hOpenUrl)
  If Not hOpen = 0 Then Call InternetCloseHandle(hOpen)
  DownloadSource = sBuffer
End Function
Remarque :
Méthode sans passer par un fichier temporaire
Langage : Delphi 5
Date ajout : 17/11/2008
Posté par cirec [Liste]

Uses WinINet; 
Function DownloadSourceAsString(Const Url: String): String;  
Var 
  hOpen : HINTERNET;  
  hOpenUrl : HINTERNET; 
  sReadBuffer : Array[0..1023] Of ansichar;  
  lNumberOfBytesRead : Cardinal; 
Begin  
  Result := ''; 
  { Démarre une session Internet } 
  hOpen :=  InternetOpen(PChar(Application.ExeName), INTERNET_OPEN_TYPE_PRECONFIG, '', '', 0); 
  If hOpen =  Nil  Then 
  Begin  
    ShowMessage(SysErrorMessage(GetLastError)); 
    exit;  
  End; 
  Try  
    { se connecte à l'URL }  
    hOpenUrl := InternetOpenUrl(hOpen, PChar(Url), '', 0, INTERNET_FLAG_RELOAD,  0); 
    Try 
      If  hOpenUrl <> Nil  Then 
      Begin  
        { récupère le texte }  
        Repeat 
          sReadBuffer  := ''; 
          InternetReadFile(hOpenUrl,  @sReadBuffer, Length(sReadBuffer), lNumberOfBytesRead); 
          Result :=  Result + String(sReadBuffer);  
        Until lNumberOfBytesRead = 0; 
      End 
      Else  
      Begin  
        ShowMessage(SysErrorMessage(GetLastError));  
        exit; 
      End; 
    Finally 
      If hOpenUrl <> Nil  Then 
        InternetCloseHandle(hOpenUrl);  
    End; 
  Finally 
    InternetCloseHandle(hOpen);  
  End; 
End; 
Procedure  Tfrm_Main.btn_GoClick(Sender: TObject); 
Begin 
  lbl_MyIP.Caption := Format('Mon IP : %s',[DownloadSourceAsString('http://www.whatismyip.org')]); 
  { Fonctionne aussi avec un fichier txt }  
  mmo_Result.Lines.Text := DownloadSourceAsString('http://skin-ogame.hebfree.org/World_Of_Stargate/texte_evolution.txt');  
End; 

Langage : VB 2005 , VB 2008
Date ajout : 03/04/2009
Posté par Charles Racaud [Liste]
DateMAJ : 27/12/2009
'Imports System
'Imports System.Net
Public Function DownloadSource(ByVal address As StringByVal UserAgent As StringAs String
  Dim Result As String
  Using NetC As New WebClient()
    NetC.Headers(HttpRequestHeader.UserAgent) = UserAgent
    Result = NetC.DownloadString(address)
  End Using
  Return Result
End Function
Public Function DownloadSource(ByVal address As Uri, ByVal UserAgent As StringAs String
  Return DownloadSource(address.ToString(), UserAgent)
End Function
Langage : C# 2.x , C# 3.x
Date ajout : 03/04/2009
Posté par Charles Racaud [Liste]
//using System;
//using System.Net;
public static string DownloadSource(string address) {
  string Result = string.Empty;
  using (WebClient NetC = new WebClient()) {
    Result = NetC.DownloadString(address);
  }
  return Result;
}
public static string DownloadSource(Uri address) {
  return DownloadSource(address);
}

Snippets en rapport avec : Chaine, Source, Télécharger, Page, Récupérer



Codes sources en rapport avec : Chaine, Source, Télécharger, Page, Récupérer

{ASP / ASP.NET} LIRE LA SOURCE D'UNE PAGE
Voila une fonction qui permet de lire le code source d'une page Internet...

{Visual Basic, VB6, VB.NET, VB 2005} CONCEPTMONITOR - UN EXTRACTEUR DE D'INFORMATIONS PROVENANT DE PAGES HTML
Cette source est un extracteur d'informations (crawler) ayant plusieurs buts. C'est en premier un cl...

{JAVA / J2EE} WEBSOURCEASPIRO - ASPIRATEUR DE CODE SOURCE DE PAGE INTERNET
C'est un petit programme simple. On rentre une URL, on appuie sur le bouton et ca charge la page dan...

{Visual Basic, VB6, VB.NET, VB 2005} AFFICHER LA SOURCE D'UNE PAGE INTERNET
Cette source permet d'afficher la source d'une page présente sur le net ou en local ... Si vous ...

{Visual Basic, VB6, VB.NET, VB 2005} AFFICHER LA SOURCE D'UNE PAGE HTML D'UN SITE
C'est très , mais alors très simple à comprendre. Il n'y a que 3 lignes à taper, donc vraiment pas b...

{Visual Basic, VB6, VB.NET, VB 2005} HAPPY LAND - 3D VB6 GAME - OPEN SOURCE CODE
HappyLand is open source 3d game, written in vb6 using DirectX 8.1 and Truevision3D , Download Li...

{Visual Basic, VB6, VB.NET, VB 2005} METAL GEAR SOLID - 3D VB6 GAME - OPEN SOURCE
Metal Gear Solid - VB6 Clone Open Source Code of Metal Gear Solid, Now on VB 6.0 ! Download ...

{Visual Basic, VB6, VB.NET, VB 2005} FIGHT COMBAT II - 3D VB GAME - OPEN SOURCE
Fight Combat II - 3D VB6 Game - Open Source Download Link : http://yazanmarkabi.webs.com/vb60/do...

{Visual Basic, VB6, VB.NET, VB 2005} STREET FIGHTER - 3D VB GAME - OPEN-SOURCE
Street Fighter 3D Open-Source Game, written in VB6 - Direct Download : http://zanazeen.webs.com...

{PHP} SÉCURISATION DE FORMULAIRE
Bonjour, j'ai lu sur divers forums que l'injection sql peut etre dangereux si on sécurise mal le tr...