Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Ver HTML de sitio en VB6

Estas en el tema de Ver HTML de sitio en VB6 en el foro de Visual Basic clásico en Foros del Web. Me gustaria saber como cargo en un textbox o label el codigo html de una direccion web. Se que en .net se puede hacer con ...
  #1 (permalink)  
Antiguo 01/03/2008, 14:23
Avatar de piojoman  
Fecha de Ingreso: enero-2005
Ubicación: Argentina
Mensajes: 224
Antigüedad: 19 años, 3 meses
Puntos: 3
Ver HTML de sitio en VB6

Me gustaria saber como cargo en un textbox o label el codigo html de una direccion web. Se que en .net se puede hacer con el control webbrowser.documenttext o algo asi, pero en vb6 esta propiedad no nos proporciona la misma informacion y no se como seguir!!! alguien tiene idea de como lograrlo???

El resultado a conseguir es el mismo que cuando presionamos en "ver codigo fuente" de los exploradores web, de hecho, el control tiene esa opcion pero no se como cargar los datos en un control como label o textbox en tiempo de ejecucion!!!
  #2 (permalink)  
Antiguo 01/03/2008, 16:01
Avatar de vbx3m  
Fecha de Ingreso: febrero-2005
Ubicación: Venezuela
Mensajes: 524
Antigüedad: 19 años, 3 meses
Puntos: 1
Re: Ver HTML de sitio en VB6

Es sencillo, utiliza el control Inet y escribes este codigo:

Text1.Text = Inet1.OpenURL("http://www.forosdelweb.com")
__________________
ホルヘ・ラファエル・マルティネス・レオン
  #3 (permalink)  
Antiguo 01/03/2008, 16:39
Avatar de piojoman  
Fecha de Ingreso: enero-2005
Ubicación: Argentina
Mensajes: 224
Antigüedad: 19 años, 3 meses
Puntos: 3
Re: Ver HTML de sitio en VB6

excelentemente gracias por la pronta respuesta, nunca se me habia ocurrido ir por el control Inet, ya lo estaba despedazando al webbrowser, pero no terminaba de darme los datos que realmente necesitaba, mediante la propiedad .document, asi que me viene barbaro que me hayas dado la solucion para poder continuar con lo mas sencillo!!!

Muchas gracias por todo!!!
  #4 (permalink)  
Antiguo 02/03/2008, 17:02
Avatar de seba123neo  
Fecha de Ingreso: febrero-2007
Ubicación: Esperanza, Santa Fe
Mensajes: 1.046
Antigüedad: 17 años, 2 meses
Puntos: 19
Re: Ver HTML de sitio en VB6

Hola,no hace falta el control inet...

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
se usa asi:

Código:
Text1.Text = GetUrlSource("http://www.google.com")
saludos.
__________________
" Todos Somos Ignorantes; lo que pasa es que no todos ignoramos las mismas cosas " - Albert Einstein
  #5 (permalink)  
Antiguo 04/03/2008, 23:04
Avatar de piojoman  
Fecha de Ingreso: enero-2005
Ubicación: Argentina
Mensajes: 224
Antigüedad: 19 años, 3 meses
Puntos: 3
Re: Ver HTML de sitio en VB6

gracias tambien a ti seba123neo !!!

Probe los dos metodos y dan igual resultado. Pero tengo una pregunta técnica.

Mi soft debe abrir constantemente sitios webs y leer muchos de su tag, similar a un lector de noticias RSS pero sin necesariamente de estas, aunque algunas la sean. El problema reside en que el sitio recibe muchas visitar diarias y los servers no son los mejores y con ambos metodos que me dieron consigo entrar a los sitios pero a veces tardan mas de lo deseado, mi progunta seria...¿que deberia hacer yo para poder conseguir el codigo html de forma rapida y que menos perjudique al server? o sea, la forma mas conveniente para esta tarea...

Probe con el metodo de seba123neo modificandolo para que no cargue toda la pagina sino hasta donde necesito eliminando el ciclo While por un For pero eso no representa mayor velocidad real aunque para mi deberia lograrlo...

Alguien tiene alguna sugerencia por favor!!!!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 23:51.