Quería comentar algo que es muy común para el desarrollador habituado a utilizar tecnología AJAX, pero poco usual -pero muy útil- en el ambiente ASP.NET clásico.
Me estoy refiriendo a consultar una página desde el lado del servidor.
En JavaScript -ambientes ajax en el client-side- utilizamos los objetos Msxml2.XMLHTTP o Microsoft.XMLHTTP, sin embargo, el Framework -tanto en sus versiones 1.0, 1.1, 2.0, y 3.0- cuenta con los objetos System.Net.WebRequest y WebResponse.
System.Net.WebRequest es una clase abstracta con la que podemos hacer request para acceder a datos utilizando tanto el protocolo http como ftp.
Por ejemplo el siguiente código;'Desde de nuestra aplicación importamos System.Net
Dim myRequest As WebRequest
myRequest = WebRequest.Create("http://sdopico.blogspot.com/")
' Configuramos las credenciales.
myRequest.Credentials = CredentialCache.DefaultCredentials
myRequest.TimeOut = 30 * 1000
'Hacemos el Get
Dim myResponse As HttpWebResponse
myResponse = CType(myRequest.GetResponse(),HttpWebResponse)
' Obtengo el stream con el contenido
Dim data As Stream = myResponse.GetResponseStream()
Dim reader As New StreamReader(data)
' Leo el contenido
Dim responseFromServer As String
responseFromServer = reader.ReadToEnd()
' Hago algo con los datos, en este caso escribo en consola
Console.WriteLine(responseFromServer)
' O lo que necesites hacer con los datos
Response.Write(responseFromServer)
' Cierro
reader.Close()
data.Close()
myResponse.Close()
miércoles, 27 de diciembre de 2006
Consultar páginas desde el lado del servidor
Posts Relacionados por Secciones
Suscribirse a:
Comentarios de la entrada (Atom)
1 comentarios:
Hola Seba, te paso unos tips para obtener el contenido de la web sin problemas de caracteres especiales (ej. acentos.)
' Luego de la sgte. linea de código
myResponse = CType(myRequest.GetResponse(),HttpWebResponse)
' Agregar (importar System.text)---
Dim encode as Encoding = Encoding.GetEncoding("utf-7")
'----------------------------------
' Obtengo el stream con el contenido
Dim data As Stream = myResponse.GetResponseStream()
' Dim reader As New StreamReader(data)
' Modificar la linea anterior por:
Dim reader As New StreamReader(data,encode)
Saludos!
Publicar un comentario