WebClient Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Proporciona métodos comunes para enviar y recibir datos de un recurso identificado por un URI.
public ref class WebClient : System::ComponentModel::Component
public ref class WebClient sealed : System::ComponentModel::Component
public class WebClient : System.ComponentModel.Component
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class WebClient : System.ComponentModel.Component
[System.Runtime.InteropServices.ComVisible(true)]
public class WebClient : System.ComponentModel.Component
type WebClient = class
inherit Component
[<System.Runtime.InteropServices.ComVisible(true)>]
type WebClient = class
inherit Component
Public Class WebClient
Inherits Component
Public NotInheritable Class WebClient
Inherits Component
- Herencia
- Atributos
Ejemplos
En el ejemplo de código siguiente se toma el URI de un recurso, se recupera y se muestra la respuesta.
#using <System.dll>
using namespace System;
using namespace System::Net;
using namespace System::IO;
int main()
{
array<String^>^args = Environment::GetCommandLineArgs();
if ( args == nullptr || args->Length == 1 )
{
throw gcnew ApplicationException( "Specify the URI of the resource to retrieve." );
}
WebClient^ client = gcnew WebClient;
// Add a user agent header in case the
// requested URI contains a query.
client->Headers->Add( "user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)" );
Stream^ data = client->OpenRead( args[ 1 ] );
StreamReader^ reader = gcnew StreamReader( data );
String^ s = reader->ReadToEnd();
Console::WriteLine( s );
data->Close();
reader->Close();
delete client;
}
using System;
using System.Net;
using System.IO;
public class Test
{
public static void Main(string[] args)
{
if (args == null || args.Length == 0)
{
throw new ApplicationException("Specify the URI of the resource to retrieve.");
}
using WebClient client = new WebClient();
// Add a user agent header in case the
// requested URI contains a query.
client.Headers.Add("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)");
using Stream data = client.OpenRead(args[0]);
using StreamReader reader = new StreamReader(data);
string s = reader.ReadToEnd();
Console.WriteLine(s);
}
}
Imports System.Net
Imports System.IO
Public Class Test
Public Shared Sub Main(args() As String)
If args Is Nothing OrElse args.Length = 0 Then
Throw New ApplicationException("Specify the URI of the resource to retrieve.")
End If
Using client As New WebClient()
' Add a user agent header in case the
' requested URI contains a query.
client.Headers.Add("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)")
Using data As Stream = client.OpenRead(args(0))
Using reader As New StreamReader(data)
Dim s As String = reader.ReadToEnd()
Console.WriteLine(s)
End Using
End Using
End Using
End Sub
End Class
Comentarios
Cautela
WebRequest
, HttpWebRequest
, ServicePoint
y WebClient
están obsoletos y no debe usarlos para el nuevo desarrollo. Use HttpClient en su lugar.
La clase WebClient proporciona métodos comunes para enviar o recibir datos de cualquier recurso local, intranet o Internet identificado por un URI.
La clase WebClient usa la clase WebRequest para proporcionar acceso a los recursos. WebClient instancias pueden acceder a los datos con cualquier descendiente WebRequest registrado con el método WebRequest.RegisterPrefix.
Nota
De forma predeterminada, .NET Framework admite identificadores URI que comienzan por http:
, https:
, ftp:
y file:
identificadores de esquema.
En la tabla siguiente se describen WebClient métodos para cargar datos en un recurso.
Método | Descripción |
---|---|
OpenWrite | Recupera un Stream usado para enviar datos al recurso. |
OpenWriteAsync | Recupera un Stream usado para enviar datos al recurso, sin bloquear el subproceso que llama. |
UploadData | Envía una matriz de bytes al recurso y devuelve una matriz de Byte que contiene cualquier respuesta. |
UploadDataAsync | Envía una matriz Byte al recurso, sin bloquear el subproceso que llama. |
UploadFile | Envía un archivo local al recurso y devuelve una matriz Byte que contiene cualquier respuesta. |
UploadFileAsync | Envía un archivo local al recurso, sin bloquear el subproceso que llama. |
UploadValues | Envía un NameValueCollection al recurso y devuelve una matriz de Byte que contiene cualquier respuesta. |
UploadValuesAsync | Envía un NameValueCollection al recurso y devuelve una matriz de Byte que contiene cualquier respuesta, sin bloquear el subproceso que realiza la llamada. |
UploadString | Envía un String al recurso y devuelve un String que contiene cualquier respuesta. |
UploadStringAsync | Envía un String al recurso, sin bloquear el subproceso que llama. |
En la tabla siguiente se describen WebClient métodos para descargar datos de un recurso.
Método | Descripción |
---|---|
OpenRead | Devuelve los datos de un recurso como un Stream. |
OpenReadAsync | Devuelve los datos de un recurso, sin bloquear el subproceso que realiza la llamada. |
DownloadData | Descarga datos de un recurso y devuelve una matriz Byte. |
DownloadDataAsync | Descarga datos de un recurso y devuelve una matriz de Byte, sin bloquear el subproceso que realiza la llamada. |
DownloadFile | Descarga datos de un recurso en un archivo local. |
DownloadFileAsync | Descarga datos de un recurso a un archivo local, sin bloquear el subproceso que llama. |
DownloadString | Descarga un String de un recurso y devuelve un String. |
DownloadStringAsync | Descarga un String de un recurso, sin bloquear el subproceso que llama. |
Puede usar el método CancelAsync para intentar cancelar operaciones asincrónicas.
Una instancia de WebClient no envía encabezados HTTP opcionales de forma predeterminada. Si la solicitud requiere un encabezado opcional, debe agregar el encabezado a la colección Headers. Por ejemplo, para conservar las consultas en la respuesta, debe agregar un encabezado user-agent. Además, los servidores pueden devolver 500 (error interno del servidor) si falta el encabezado del agente de usuario.
AllowAutoRedirect se establece en true
en instancias de WebClient.
Notas a los desarrolladores de herederos
Las clases derivadas deben llamar a la implementación de clase base de WebClient para asegurarse de que la clase derivada funciona según lo previsto.
Constructores
WebClient() |
Obsoletos.
Inicializa una nueva instancia de la clase WebClient. |
Propiedades
AllowReadStreamBuffering |
Obsoletos.
Obtiene o establece un valor que indica si se van a almacenar en búfer los datos leídos del recurso de Internet para una instancia de WebClient. |
AllowWriteStreamBuffering |
Obsoletos.
Obtiene o establece un valor que indica si se van a almacenar en búfer los datos escritos en el recurso de Internet para una instancia de WebClient. |
BaseAddress |
Obtiene o establece el URI base para las solicitudes realizadas por un WebClient. |
CachePolicy |
Obtiene o establece la directiva de caché de la aplicación para los recursos obtenidos por esta instancia de WebClient mediante WebRequest objetos. |
CanRaiseEvents |
Obtiene un valor que indica si el componente puede generar un evento. (Heredado de Component) |
Container |
Obtiene el IContainer que contiene el Component. (Heredado de Component) |
Credentials |
Obtiene o establece las credenciales de red que se envían al host y se usan para autenticar la solicitud. |
DesignMode |
Obtiene un valor que indica si el Component está actualmente en modo de diseño. (Heredado de Component) |
Encoding |
Obtiene o establece el Encoding usado para cargar y descargar cadenas. |
Events |
Obtiene la lista de controladores de eventos que están asociados a este Component. (Heredado de Component) |
Headers |
Obtiene o establece una colección de pares de nombre y valor de encabezado asociados a la solicitud. |
IsBusy |
Obtiene si una solicitud web está en curso. |
Proxy |
Obtiene o establece el proxy utilizado por este objeto WebClient. |
QueryString |
Obtiene o establece una colección de pares de nombre y valor de consulta asociados a la solicitud. |
ResponseHeaders |
Obtiene una colección de pares de nombre y valor de encabezado asociados a la respuesta. |
Site |
Obtiene o establece el ISite del Component. (Heredado de Component) |
UseDefaultCredentials |
Obtiene o establece un valor de Boolean que controla si el DefaultCredentials se envían con solicitudes. |
Métodos
CancelAsync() |
Cancela una operación asincrónica pendiente. |
CreateObjRef(Type) |
Crea un objeto que contiene toda la información pertinente necesaria para generar un proxy usado para comunicarse con un objeto remoto. (Heredado de MarshalByRefObject) |
Dispose() |
Libera todos los recursos usados por el Component. (Heredado de Component) |
Dispose(Boolean) |
Libera los recursos no administrados usados por el Component y, opcionalmente, libera los recursos administrados. (Heredado de Component) |
DownloadData(String) |
Descarga el recurso como una matriz de Byte del URI especificado. |
DownloadData(Uri) |
Descarga el recurso como una matriz de Byte del URI especificado. |
DownloadDataAsync(Uri) |
Descarga el recurso como una matriz Byte del URI especificado como una operación asincrónica. |
DownloadDataAsync(Uri, Object) |
Descarga el recurso como una matriz Byte del URI especificado como una operación asincrónica. |
DownloadDataTaskAsync(String) |
Descarga el recurso como una matriz de Byte del URI especificado como una operación asincrónica mediante un objeto de tarea. |
DownloadDataTaskAsync(Uri) |
Descarga el recurso como una matriz de Byte del URI especificado como una operación asincrónica mediante un objeto de tarea. |
DownloadFile(String, String) |
Descarga el recurso con el URI especificado en un archivo local. |
DownloadFile(Uri, String) |
Descarga el recurso con el URI especificado en un archivo local. |
DownloadFileAsync(Uri, String) |
Descarga, en un archivo local, el recurso con el URI especificado. Este método no bloquea el subproceso que realiza la llamada. |
DownloadFileAsync(Uri, String, Object) |
Descarga, en un archivo local, el recurso con el URI especificado. Este método no bloquea el subproceso que realiza la llamada. |
DownloadFileTaskAsync(String, String) |
Descarga el recurso especificado en un archivo local como una operación asincrónica mediante un objeto de tarea. |
DownloadFileTaskAsync(Uri, String) |
Descarga el recurso especificado en un archivo local como una operación asincrónica mediante un objeto de tarea. |
DownloadString(String) |
Descarga el recurso solicitado como un String. El recurso que se va a descargar se especifica como un String que contiene el URI. |
DownloadString(Uri) |
Descarga el recurso solicitado como un String. El recurso que se va a descargar se especifica como un Uri. |
DownloadStringAsync(Uri) |
Descarga el recurso especificado como un Uri. Este método no bloquea el subproceso que realiza la llamada. |
DownloadStringAsync(Uri, Object) |
Descarga la cadena especificada en el recurso especificado. Este método no bloquea el subproceso que realiza la llamada. |
DownloadStringTaskAsync(String) |
Descarga el recurso como un String del URI especificado como una operación asincrónica mediante un objeto de tarea. |
DownloadStringTaskAsync(Uri) |
Descarga el recurso como un String del URI especificado como una operación asincrónica mediante un objeto de tarea. |
Equals(Object) |
Determina si el objeto especificado es igual al objeto actual. (Heredado de Object) |
GetHashCode() |
Actúa como función hash predeterminada. (Heredado de Object) |
GetLifetimeService() |
Obsoletos.
Recupera el objeto de servicio de duración actual que controla la directiva de duración de esta instancia. (Heredado de MarshalByRefObject) |
GetService(Type) |
Devuelve un objeto que representa un servicio proporcionado por el Component o por su Container. (Heredado de Component) |
GetType() |
Obtiene el Type de la instancia actual. (Heredado de Object) |
GetWebRequest(Uri) |
Devuelve un objeto WebRequest para el recurso especificado. |
GetWebResponse(WebRequest) |
Devuelve el WebResponse del WebRequestespecificado. |
GetWebResponse(WebRequest, IAsyncResult) |
Devuelve el WebResponse del WebRequest especificado mediante el IAsyncResultespecificado. |
InitializeLifetimeService() |
Obsoletos.
Obtiene un objeto de servicio de duración para controlar la directiva de duración de esta instancia. (Heredado de MarshalByRefObject) |
MemberwiseClone() |
Crea una copia superficial del Objectactual. (Heredado de Object) |
MemberwiseClone(Boolean) |
Crea una copia superficial del objeto MarshalByRefObject actual. (Heredado de MarshalByRefObject) |
OnDownloadDataCompleted(DownloadDataCompletedEventArgs) |
Genera el evento DownloadDataCompleted. |
OnDownloadFileCompleted(AsyncCompletedEventArgs) |
Genera el evento DownloadFileCompleted. |
OnDownloadProgressChanged(DownloadProgressChangedEventArgs) |
Genera el evento DownloadProgressChanged. |
OnDownloadStringCompleted(DownloadStringCompletedEventArgs) |
Genera el evento DownloadStringCompleted. |
OnOpenReadCompleted(OpenReadCompletedEventArgs) |
Genera el evento OpenReadCompleted. |
OnOpenWriteCompleted(OpenWriteCompletedEventArgs) |
Genera el evento OpenWriteCompleted. |
OnUploadDataCompleted(UploadDataCompletedEventArgs) |
Genera el evento UploadDataCompleted. |
OnUploadFileCompleted(UploadFileCompletedEventArgs) |
Genera el evento UploadFileCompleted. |
OnUploadProgressChanged(UploadProgressChangedEventArgs) |
Genera el evento UploadProgressChanged. |
OnUploadStringCompleted(UploadStringCompletedEventArgs) |
Genera el evento UploadStringCompleted. |
OnUploadValuesCompleted(UploadValuesCompletedEventArgs) |
Genera el evento UploadValuesCompleted. |
OnWriteStreamClosed(WriteStreamClosedEventArgs) |
Obsoletos.
Genera el evento WriteStreamClosed. |
OpenRead(String) |
Abre una secuencia legible para los datos descargados de un recurso con el URI especificado como un String. |
OpenRead(Uri) |
Abre una secuencia legible para los datos descargados de un recurso con el URI especificado como un Uri. |
OpenReadAsync(Uri) |
Abre una secuencia legible que contiene el recurso especificado. Este método no bloquea el subproceso que realiza la llamada. |
OpenReadAsync(Uri, Object) |
Abre una secuencia legible que contiene el recurso especificado. Este método no bloquea el subproceso que realiza la llamada. |
OpenReadTaskAsync(String) |
Abre una secuencia legible que contiene el recurso especificado como una operación asincrónica mediante un objeto de tarea. |
OpenReadTaskAsync(Uri) |
Abre una secuencia legible que contiene el recurso especificado como una operación asincrónica mediante un objeto de tarea. |
OpenWrite(String) |
Abre una secuencia para escribir datos en el recurso especificado. |
OpenWrite(String, String) |
Abre una secuencia para escribir datos en el recurso especificado mediante el método especificado. |
OpenWrite(Uri) |
Abre una secuencia para escribir datos en el recurso especificado. |
OpenWrite(Uri, String) |
Abre una secuencia para escribir datos en el recurso especificado mediante el método especificado. |
OpenWriteAsync(Uri) |
Abre una secuencia para escribir datos en el recurso especificado. Este método no bloquea el subproceso que realiza la llamada. |
OpenWriteAsync(Uri, String) |
Abre una secuencia para escribir datos en el recurso especificado. Este método no bloquea el subproceso que realiza la llamada. |
OpenWriteAsync(Uri, String, Object) |
Abre una secuencia para escribir datos en el recurso especificado mediante el método especificado. Este método no bloquea el subproceso que realiza la llamada. |
OpenWriteTaskAsync(String) |
Abre una secuencia para escribir datos en el recurso especificado como una operación asincrónica mediante un objeto de tarea. |
OpenWriteTaskAsync(String, String) |
Abre una secuencia para escribir datos en el recurso especificado como una operación asincrónica mediante un objeto de tarea. |
OpenWriteTaskAsync(Uri) |
Abre una secuencia para escribir datos en el recurso especificado como una operación asincrónica mediante un objeto de tarea. |
OpenWriteTaskAsync(Uri, String) |
Abre una secuencia para escribir datos en el recurso especificado como una operación asincrónica mediante un objeto de tarea. |
ToString() |
Devuelve un String que contiene el nombre del Component, si existe. Este método no se debe invalidar. (Heredado de Component) |
UploadData(String, Byte[]) |
Carga un búfer de datos en un recurso identificado por un URI. |
UploadData(String, String, Byte[]) |
Carga un búfer de datos en el recurso especificado mediante el método especificado. |
UploadData(Uri, Byte[]) |
Carga un búfer de datos en un recurso identificado por un URI. |
UploadData(Uri, String, Byte[]) |
Carga un búfer de datos en el recurso especificado mediante el método especificado. |
UploadDataAsync(Uri, Byte[]) |
Carga un búfer de datos en un recurso identificado por un URI mediante el método POST. Este método no bloquea el subproceso que realiza la llamada. |
UploadDataAsync(Uri, String, Byte[]) |
Carga un búfer de datos en un recurso identificado por un URI mediante el método especificado. Este método no bloquea el subproceso que realiza la llamada. |
UploadDataAsync(Uri, String, Byte[], Object) |
Carga un búfer de datos en un recurso identificado por un URI mediante el método especificado y el token de identificación. |
UploadDataTaskAsync(String, Byte[]) |
Carga un búfer de datos que contiene una matriz de Byte en el URI especificado como una operación asincrónica mediante un objeto de tarea. |
UploadDataTaskAsync(String, String, Byte[]) |
Carga un búfer de datos que contiene una matriz de Byte en el URI especificado como una operación asincrónica mediante un objeto de tarea. |
UploadDataTaskAsync(Uri, Byte[]) |
Carga un búfer de datos que contiene una matriz de Byte en el URI especificado como una operación asincrónica mediante un objeto de tarea. |
UploadDataTaskAsync(Uri, String, Byte[]) |
Carga un búfer de datos que contiene una matriz de Byte en el URI especificado como una operación asincrónica mediante un objeto de tarea. |
UploadFile(String, String) |
Carga el archivo local especificado en un recurso con el URI especificado. |
UploadFile(String, String, String) |
Carga el archivo local especificado en el recurso especificado mediante el método especificado. |
UploadFile(Uri, String) |
Carga el archivo local especificado en un recurso con el URI especificado. |
UploadFile(Uri, String, String) |
Carga el archivo local especificado en el recurso especificado mediante el método especificado. |
UploadFileAsync(Uri, String) |
Carga el archivo local especificado en el recurso especificado mediante el método POST. Este método no bloquea el subproceso que realiza la llamada. |
UploadFileAsync(Uri, String, String) |
Carga el archivo local especificado en el recurso especificado mediante el método POST. Este método no bloquea el subproceso que realiza la llamada. |
UploadFileAsync(Uri, String, String, Object) |
Carga el archivo local especificado en el recurso especificado mediante el método POST. Este método no bloquea el subproceso que realiza la llamada. |
UploadFileTaskAsync(String, String) |
Carga el archivo local especificado en un recurso como una operación asincrónica mediante un objeto de tarea. |
UploadFileTaskAsync(String, String, String) |
Carga el archivo local especificado en un recurso como una operación asincrónica mediante un objeto de tarea. |
UploadFileTaskAsync(Uri, String) |
Carga el archivo local especificado en un recurso como una operación asincrónica mediante un objeto de tarea. |
UploadFileTaskAsync(Uri, String, String) |
Carga el archivo local especificado en un recurso como una operación asincrónica mediante un objeto de tarea. |
UploadString(String, String) |
Carga la cadena especificada en el recurso especificado mediante el método POST. |
UploadString(String, String, String) |
Carga la cadena especificada en el recurso especificado mediante el método especificado. |
UploadString(Uri, String) |
Carga la cadena especificada en el recurso especificado mediante el método POST. |
UploadString(Uri, String, String) |
Carga la cadena especificada en el recurso especificado mediante el método especificado. |
UploadStringAsync(Uri, String) |
Carga la cadena especificada en el recurso especificado. Este método no bloquea el subproceso que realiza la llamada. |
UploadStringAsync(Uri, String, String) |
Carga la cadena especificada en el recurso especificado. Este método no bloquea el subproceso que realiza la llamada. |
UploadStringAsync(Uri, String, String, Object) |
Carga la cadena especificada en el recurso especificado. Este método no bloquea el subproceso que realiza la llamada. |
UploadStringTaskAsync(String, String) |
Carga la cadena especificada en el recurso especificado como una operación asincrónica mediante un objeto de tarea. |
UploadStringTaskAsync(String, String, String) |
Carga la cadena especificada en el recurso especificado como una operación asincrónica mediante un objeto de tarea. |
UploadStringTaskAsync(Uri, String) |
Carga la cadena especificada en el recurso especificado como una operación asincrónica mediante un objeto de tarea. |
UploadStringTaskAsync(Uri, String, String) |
Carga la cadena especificada en el recurso especificado como una operación asincrónica mediante un objeto de tarea. |
UploadValues(String, NameValueCollection) |
Carga la colección name/value especificada en el recurso identificado por el URI especificado. |
UploadValues(String, String, NameValueCollection) |
Carga la colección name/value especificada en el recurso identificado por el URI especificado mediante el método especificado. |
UploadValues(Uri, NameValueCollection) |
Carga la colección name/value especificada en el recurso identificado por el URI especificado. |
UploadValues(Uri, String, NameValueCollection) |
Carga la colección name/value especificada en el recurso identificado por el URI especificado mediante el método especificado. |
UploadValuesAsync(Uri, NameValueCollection) |
Carga los datos de la colección name/value especificada en el recurso identificado por el URI especificado. Este método no bloquea el subproceso que realiza la llamada. |
UploadValuesAsync(Uri, String, NameValueCollection) |
Carga los datos de la colección name/value especificada en el recurso identificado por el URI especificado mediante el método especificado. Este método no bloquea el subproceso que realiza la llamada. |
UploadValuesAsync(Uri, String, NameValueCollection, Object) |
Carga los datos de la colección name/value especificada en el recurso identificado por el URI especificado mediante el método especificado. Este método no bloquea el subproceso que realiza la llamada y permite al autor de la llamada pasar un objeto al método que se invoca cuando se completa la operación. |
UploadValuesTaskAsync(String, NameValueCollection) |
Carga la colección name/value especificada en el recurso identificado por el URI especificado como una operación asincrónica mediante un objeto de tarea. |
UploadValuesTaskAsync(String, String, NameValueCollection) |
Carga la colección name/value especificada en el recurso identificado por el URI especificado como una operación asincrónica mediante un objeto de tarea. |
UploadValuesTaskAsync(Uri, NameValueCollection) |
Carga la colección name/value especificada en el recurso identificado por el URI especificado como una operación asincrónica mediante un objeto de tarea. |
UploadValuesTaskAsync(Uri, String, NameValueCollection) |
Carga la colección name/value especificada en el recurso identificado por el URI especificado como una operación asincrónica mediante un objeto de tarea. |
Eventos
Disposed |
Se produce cuando el componente se elimina mediante una llamada al método Dispose(). (Heredado de Component) |
DownloadDataCompleted |
Se produce cuando se completa una operación de descarga de datos asincrónica. |
DownloadFileCompleted |
Se produce cuando se completa una operación de descarga de archivos asincrónica. |
DownloadProgressChanged |
Se produce cuando una operación de descarga asincrónica transfiere correctamente algunos o todos los datos. |
DownloadStringCompleted |
Se produce cuando se completa una operación asincrónica de descarga de recursos. |
OpenReadCompleted |
Se produce cuando se completa una operación asincrónica para abrir una secuencia que contiene un recurso. |
OpenWriteCompleted |
Se produce cuando se completa una operación asincrónica para abrir una secuencia para escribir datos en un recurso. |
UploadDataCompleted |
Se produce cuando se completa una operación asincrónica de carga de datos. |
UploadFileCompleted |
Se produce cuando se completa una operación asincrónica de carga de archivos. |
UploadProgressChanged |
Se produce cuando una operación de carga asincrónica transfiere correctamente algunos o todos los datos. |
UploadStringCompleted |
Se produce cuando se completa una operación asincrónica de carga de cadenas. |
UploadValuesCompleted |
Se produce cuando se completa una carga asincrónica de una colección name/value. |
WriteStreamClosed |
Obsoletos.
Se produce cuando se cierra una operación asincrónica para escribir datos en un recurso mediante una secuencia de escritura. |