Rapport de message :*
 

Récupérer une page web

Titre du sujet : Récupérer une page web
par S☼leil le 22/09/2009 01:29:48

Re tout le monde,

Voila un bout de code pour récupérer une page web. Maintenant ce j'aurais voulu faire, c'est remplir le champ adresse, et simuler un clic sur "Aller, hop c'est parti", voir même si c'est aussi possible de récupérer l'URL de la nouvelle page chargée, j'ai essayé de tremper ma machine dans l'eau bénite, mais elle n'a pas aimé.
Si quelqu'un connait les formules magiques...Reconnaissance éternelle...

Option Explicit
Public Declare Function InternetOpen Lib "wininet.dll" Alias "InternetOpenA" _
(ByVal lpszAgent As String, ByVal dwAccessType As Long, ByVal lpszProxyName As String, _
ByVal lpszProxyBypass As String, ByVal dwFlags As Long) As Long

   Public Declare Function InternetCloseHandle Lib "wininet.dll" (ByVal hInet As Long) As Integer
   Public Declare Function InternetOpenUrl Lib "wininet.dll" Alias "InternetOpenUrlA" _
(ByVal hInternetSession As Long, ByVal lpszUrl As String, ByVal lpszHeaders As String, _
ByVal dwHeadersLength As Long, ByVal dwFlags As Long, ByVal dwContext As Long) As Long

   Public Declare Function InternetReadFile Lib "wininet.dll" _
(ByVal hFile As Long, ByVal lpBuffer As String, ByVal dwNumberOfBytesToRead As Long, _
lNumberOfBytesRead As Long) As Integer

   Public Const INTERNET_OPEN_TYPE_PRECONFIG = 0 ' utiliser info de config de la base de registre
   Public Const INTERNET_FLAG_EXISITING_CONNECT = &H20000000
   Public Const INTERNET_FLAG_RELOAD = &H80000000 'Lire �artir de fil, m� si mis en cache localement
   Public MonDocument
   Public pointeur


Function GetHTTPFile(ByVal URL As String, ByVal StrUserAgent As String) As String


' URL correspond au chemin complet du document exemple: http://www.domaine.ext/r�rtoire/ document.pl?Param=Exemple&Param2=test
' StrUserAgent correspond �a d�nition du navigateur exemple: Mozilla/4.0 (compatible; MSIE 4.01; Windows 98)
Dim hSession As Long
Dim hUrlFile As Long
Dim bBoucle As Boolean
Dim sReadBuf As String * 4096
Dim Buffer As String
Dim OctetsLus As Long


pointeur = Application.Cursor
Application.Cursor = xlWait

' Ouverture de la session
hSession = InternetOpen(StrUserAgent, INTERNET_OPEN_TYPE_PRECONFIG, vbNullString, vbNullString, 0)
' Envoi de la demande
hUrlFile = InternetOpenUrl(hSession, URL, vbNullString, 0, INTERNET_FLAG_RELOAD, 0)

' La r�nse arrive par paquet, empilage

Buffer = ""
bBoucle = True
While bBoucle And hUrlFile > 0


DoEvents
sReadBuf = ""
bBoucle = InternetReadFile(hUrlFile, sReadBuf, 4096&, OctetsLus)
Buffer = Buffer + Left$(sReadBuf, OctetsLus)
If OctetsLus = 0 Then bBoucle = False

Wend

InternetCloseHandle (hUrlFile)
InternetCloseHandle (hSession)

Application.Cursor = pointeur  ' Recup pointeur.


GetHTTPFile = Buffer


End Function
Sub demar()


MonDocument = GetHTTPFile("http://fr.mappy.com/", _
"Internet Explorer 8.0.6001.18702")

Cells(1, 1) = MonDocument
   Columns("A").Select
    Selection.ColumnWidth = 200
 'Selection.Columns.AutoFit
End Sub
 



PADEMOI


♫ Merci