¿Que hacen estas clases?
El HttpWebRequest hace una petición a la url indicada y el HttpWebResponse devuelve los datos de la petición, esta es su función principal y "creo" que es su única función.
¿Para qué?
Para sacar contenido de una web, ya sea un objeto o simplemente un texto.
Pasos a seguir.
Lo primero de todo es Importar lo siguiente para que reconozca las clases.
Código
Imports System.Net Imports System.IO
Vallamos al grano, ahora nos dispondremos a guardar la Url de la petición en una variable String(No hace falta pero viene bien si le quieres dar formato como en este ejemplo, donde valpepito es {0} y valpepe es {1}).
Código
Dim MyUrl As String = String.Format("http://www.eldominio.com/?pepito={0}&pepe={1}", valpepito, valpepe)
El siguiente paso es declarar la petición Http
Código
Dim MyHttpWebRequest As HttpWebRequest = CType(WebRequest.Create(MyUrl), HttpWebRequest)
Algo importante es declarar las credenciales de identificación, muchas veces me ha dado error por no declarar este paso, lo que hacemos es hacer la petición con las credenciales estandar.
Código
MyHttpWebRequest.Credentials = CredentialCache.DefaultCredentials
Una vez que hemos declarado como queremos hacer la petición, la enviamos.
Código
Dim MyHttpWebResponse As HttpWebResponse = CType(MyHttpWebRequest.GetResponse(), HttpWebResponse)
A continuación leemos los bytes enviados por el servidor.
Código
Dim MyStream As Stream = MyHttpWebResponse.GetResponseStream
Y guardamos los bytes en un streamreader.
Código
Dim MyStreamReader As StreamReader = New StreamReader(MyStream)
Ahora guardaremos el contenido del stream en una string.
Código
Dim MyHtml As String = MyStreamReader.ReadToEnd
Organizamos el MyHtml que tenemos por líneas.
Código
Dim MyHtmlEnLineas() As String = MyHtml.Split(vbNewLine)
Ahora nos dispondremos a seleccionar la línea en la que se encuentra el contenido que queremos sacar de la web.(Donde 1 es la linea 1)
Código
Dim MyLinea As String = MyHtmlEnLineas(1)
Lógicamente de esa linea sólo queremos un texto determinado de este, en nuestro caso del carácter 1 al 5.
Código
MyLinea = Mid(MyLinea, 1, 5)
Y por fin tenemos en MyLinea la información que queríamos, no ha sido tan difícil no?
Ahora solo quedaría como ultimo detalle para los más perfeccionistas limpiar las variables para que no consuman recursos.
Código
MyUrl = Nothing MyHttpWRequest = Nothing MyHttpWResponse = Nothing MyStream = Nothing MyStreamReader = Nothing MyHtml = Nothing 'etc...
Espero que le sirva a alguien esta explicación, el tema es más extenso pero me he dedicado a explicar lo esencial. Sin más que decir.
Saludos.