Solicitud de datosRequesting Data

El desarrollo de aplicaciones que se ejecutan en el entorno operativo distribuido de Internet hoy en día requiere un método eficaz y fácil de usar para recuperar datos de recursos de todo tipo.Developing applications that run in the distributed operating environment of today's Internet requires an efficient, easy-to-use method for retrieving data from resources of all types. Los protocolos acoplables permiten desarrollar aplicaciones que usan una sola interfaz para recuperar datos de varios protocolos de Internet.Pluggable protocols let you develop applications that use a single interface to retrieve data from multiple Internet protocols.

Cargar y descargar datos desde un servidor de InternetUploading and Downloading Data from an Internet Server

Para transacciones simples de solicitud y respuesta, la clase WebClient proporciona el método más sencillo para cargar datos en un servidor de Internet o para descargarlos de él.For simple request and response transactions, the WebClient class provides the easiest method for uploading data to or downloading data from an Internet server. WebClient proporciona métodos para cargar y descargar archivos, enviar y recibir secuencias, y enviar un búfer de datos al servidor y recibir una respuesta.WebClient provides methods for uploading and downloading files, sending and receiving streams, and sending a data buffer to the server and receiving a response. WebClient usa las clases WebRequest y WebResponse para establecer las conexiones reales con el recurso de Internet, por lo que cualquier protocolo acoplable registrado está disponible para su uso.WebClient uses the WebRequest and WebResponse classes to make the actual connections to the Internet resource, so any registered pluggable protocol is available for use.

Las aplicaciones cliente que necesitan realizar transacciones más complejas solicitan datos de los servidores mediante la clase WebRequest y sus descendientes.Client applications that need to make more complex transactions request data from servers using the WebRequest class and its descendants. WebRequest encapsula los detalles del proceso de conectar con el servidor, enviar la solicitud y recibir la respuesta.WebRequest encapsulates the details of connecting to the server, sending the request, and receiving the response. WebRequest es una clase abstracta que define un conjunto de propiedades y métodos que están disponibles para todas las aplicaciones que usan protocolos acoplables.WebRequest is an abstract class that defines a set of properties and methods that are available to all applications that use pluggable protocols. Los descendientes de WebRequest, como HttpWebRequest, implementan las propiedades y los métodos definidos por WebRequest de una forma coherente con el protocolo subyacente.Descendants of WebRequest, such as HttpWebRequest, implement the properties and methods defined by WebRequest in a way that is consistent with the underlying protocol.

La clase WebRequest crea instancias específicas de protocolo de descendientes de WebRequest mediante el uso del valor del URI pasado a su método Create para determinar la instancia específica derivada de la clase que se va a crear.The WebRequest class creates protocol-specific instances of WebRequest descendants, using the value of the URI passed to its Create method to determine the specific derived-class instance to create. Las aplicaciones indican qué descendiente de WebRequest debe usarse para controlar una solicitud mediante el registro del constructor del descendiente con el método WebRequest.RegisterPrefix.Applications indicate which WebRequest descendant should be used to handle a request by registering the descendant's constructor with the WebRequest.RegisterPrefix method.

Se realiza una solicitud al recurso de Internet mediante una llamada al método GetResponse en el elemento WebRequest.A request is made to the Internet resource by calling the GetResponse method on the WebRequest. El método GetResponse construye la solicitud específica del protocolo a partir de las propiedades de WebRequest, establece la conexión de socket TCP o UDP con el servidor y envía la solicitud.The GetResponse method constructs the protocol-specific request from the properties of the WebRequest, makes the TCP or UDP socket connection to the server, and sends the request. Para las solicitudes que envían datos al servidor, como las solicitudes HTTP Post o FTP Put, el método WebRequest.GetRequestStream proporciona una secuencia de red en la que enviar los datos.For requests that send data to the server, such as HTTP Post or FTP Put requests, the WebRequest.GetRequestStream method provides a network stream in which to send the data.

El método GetResponse devuelve un elemento WebResponse específico del protocolo que coincide con el elemento WebRequest.The GetResponse method returns a protocol-specific WebResponse that matches the WebRequest.

WebResponse es también una clase abstracta que define propiedades y métodos que están disponibles para todas las aplicaciones que usan protocolos acoplables.The WebResponse class is also an abstract class that defines properties and methods that are available to all applications that use pluggable protocols. Los descendientes de WebResponse implementan estas propiedades y métodos para el protocolo subyacente.WebResponse descendants implement these properties and methods for the underlying protocol. La clase HttpWebResponse, por ejemplo, implementa la clase WebResponse para HTTP.The HttpWebResponse class, for example, implements the WebResponse class for HTTP.

Los datos devueltos por el servidor se presentan a la aplicación en la secuencia devuelta por el método WebResponse.GetResponseStream.The data returned by the server is presented to the application in the stream returned by the WebResponse.GetResponseStream method. Puede usar esta secuencia como cualquier otra, como se muestra en el ejemplo siguiente.You can use this stream like any other, as shown in the following example.

StreamReader sr =  
   new StreamReader(resp.GetResponseStream(), Encoding.ASCII);  
Dim sr As StreamReader  
sr = New StreamReader(resp.GetResponseStream(), Encoding.ASCII)  

Vea tambiénSee Also

Programación para redes en .NET FrameworkNetwork Programming in the .NET Framework
Cómo: solicitar una página web y recuperar los resultados como una secuenciaHow to: Request a Web Page and Retrieve the Results as a Stream
Cómo: recuperar una WebResponse específica de protocolo que coincida con una WebRequestHow to: Retrieve a Protocol-Specific WebResponse that Matches a WebRequest