Drinky tiene mucha razon...
Autoria (Seba123Neo)
En un modulo:
Código
Option Explicit Public Declare Function InternetOpen Lib "wininet.dll" Alias "InternetOpenA" (ByVal sAgent As String, ByVal lAccessType As Long, ByVal sProxyName As String, ByVal sProxyBypass As String, ByVal lFlags As Long) As Long Public Declare Function InternetOpenUrl Lib "wininet.dll" Alias "InternetOpenUrlA" (ByVal hInternetSession As Long, ByVal sURL As String, ByVal sHeaders As String, ByVal lHeadersLength As Long, ByVal lFlags As Long, ByVal lContext As Long) As Long Public Declare Function InternetReadFile Lib "wininet.dll" (ByVal hFile As Long, ByVal sBuffer As String, ByVal lNumBytesToRead As Long, lNumberOfBytesRead As Long) As Integer Public Declare Function InternetCloseHandle Lib "wininet.dll" (ByVal hInet As Long) As Integer Public Const IF_FROM_CACHE = &H1000000 Public Const IF_MAKE_PERSISTENT = &H2000000 Public Const IF_NO_CACHE_WRITE = &H4000000 Private Const BUFFER_LEN = 256 Public Function GetUrlSource(sURL As String) As String Dim sBuffer As String * BUFFER_LEN, iResult As Integer, sData As String Dim hInternet As Long, hSession As Long, lReturn As Long 'get the handle of the current internet connection hSession = InternetOpen("vb wininet", 1, vbNullString, vbNullString, 0) 'get the handle of the url If hSession Then hInternet = InternetOpenUrl(hSession, sURL, vbNullString, 0, IF_NO_CACHE_WRITE, 0) 'if we have the handle, then start reading the web page If hInternet Then 'get the first chunk & buffer it. iResult = InternetReadFile(hInternet, sBuffer, BUFFER_LEN, lReturn) sData = sBuffer 'if there's more data then keep reading it into the buffer Do While lReturn <> 0 iResult = InternetReadFile(hInternet, sBuffer, BUFFER_LEN, lReturn) sData = sData + Mid(sBuffer, 1, lReturn) Loop End If 'close the URL iResult = InternetCloseHandle(hInternet) GetUrlSource = sData End Function
en un form con un textbox multiline:
Código
Text1.Text = GetUrlSource("http://www.google.com")
GRACIAS POR LEER!!!