elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  [APORTE] Cómo utilizar las clases HttpWebRequest y HttpWebResponse
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [APORTE] Cómo utilizar las clases HttpWebRequest y HttpWebResponse  (Leído 10,381 veces)
.:Weeds:.

Desconectado Desconectado

Mensajes: 122



Ver Perfil
[APORTE] Cómo utilizar las clases HttpWebRequest y HttpWebResponse
« en: 10 Diciembre 2010, 03:14 »

De este tema en Internet vi poca información y me dispongo a explicar lo que aprendí en este foro de la mano de .::IT::. de como usar estas clases.

¿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
  1. Imports System.Net
  2. 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
  1. 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
  1. 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
  1. MyHttpWebRequest.Credentials = CredentialCache.DefaultCredentials

Una vez que hemos declarado como queremos hacer la petición, la enviamos.
Código
  1. Dim MyHttpWebResponse As HttpWebResponse = CType(MyHttpWebRequest.GetResponse(), HttpWebResponse)

A continuación leemos los bytes enviados por el servidor.
Código
  1. Dim MyStream As Stream = MyHttpWebResponse.GetResponseStream

Y guardamos los bytes en un streamreader.
Código
  1. Dim MyStreamReader As StreamReader = New StreamReader(MyStream)

Ahora guardaremos el contenido del stream en una string.
Código
  1. Dim MyHtml As String = MyStreamReader.ReadToEnd

Organizamos el MyHtml que tenemos por líneas.
Código
  1. 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
  1. 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
  1. 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
  1. MyUrl = Nothing
  2. MyHttpWRequest = Nothing
  3. MyHttpWResponse = Nothing
  4. MyStream = Nothing
  5. MyStreamReader = Nothing
  6. MyHtml = Nothing
  7. '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.


En línea


.::IT::.

Desconectado Desconectado

Mensajes: 166



Ver Perfil
Re: [APORTE] Cómo utilizar las clases HttpWebRequest y HttpWebResponse
« Respuesta #1 en: 10 Diciembre 2010, 03:45 »

:o aclarar que eso sería para una simple petición de una pagina y por lo que veo enviando valores por GET (ósea por medio de la url) para POST seria un poco diferente seria interesante que lo coloques. les dejo un link:

http://www.codeproject.com/KB/IP/httpwebrequest_response.aspx

Saludos!!!!!!! y gracias por compartir!!!



« Última modificación: 10 Diciembre 2010, 03:47 por .::IT::. » En línea

Simplemente .::IT::.
[D4N93R]
Wiki

Desconectado Desconectado

Mensajes: 1.647


My software never has bugs. Its just features!


Ver Perfil WWW
Re: [APORTE] Cómo utilizar las clases HttpWebRequest y HttpWebResponse
« Respuesta #2 en: 10 Diciembre 2010, 03:45 »

Buen aporte, agregado a temas interesantes!
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
pequeño aporte(proxy),pero aporte al fin.:D
Programación Visual Basic
Tengu 0 1,519 Último mensaje 22 Julio 2007, 17:33
por Tengu
HttpWebResponse de NET en python ??
Scripting
nachok91 3 2,279 Último mensaje 5 Febrero 2010, 19:08
por nacho87
[DUDA] Usar Httpwebrequest
.NET (C#, VB.NET, ASP)
.:Weeds:. 7 4,903 Último mensaje 7 Octubre 2010, 18:40
por .::IT::.
¿Qué es un HTTPWEBREQUEST / WEBREQUEST?
.NET (C#, VB.NET, ASP)
avmiitxe 4 3,293 Último mensaje 18 Abril 2012, 17:31
por avmiitxe
Aporte C++ - Clases Pila y Cola.
Programación C/C++
xaps 0 1,976 Último mensaje 21 Diciembre 2013, 17:52
por xaps
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines