WebClient Clase

Definición

Proporciona métodos comunes para enviar y recibir datos de un recurso identificado por un identificador 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

Importante

No se recomienda usar la WebClient clase para el nuevo desarrollo. En su lugar, use la System.Net.Http.HttpClient clase .

La WebClient clase proporciona métodos comunes para enviar o recibir datos de cualquier recurso local, intranet o internet identificado por un URI.

La WebClient clase usa la WebRequest clase para proporcionar acceso a los recursos. WebClient Las instancias pueden acceder a los datos con cualquier WebRequest descendiente registrado con el WebRequest.RegisterPrefix método .

Nota

De forma predeterminada, .NET Framework admite URI que comienzan por http:identificadores de esquema , https:ftp:, y file: .

En la tabla siguiente se describen WebClient los métodos para cargar datos en un recurso.

Método Descripción
OpenWrite Recupera un Stream objeto usado para enviar datos al recurso.
OpenWriteAsync Recupera un Stream objeto 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 que contiene cualquier Byte respuesta.
UploadDataAsync Envía una Byte matriz al recurso, sin bloquear el subproceso que llama.
UploadFile Envía un archivo local al recurso y devuelve una Byte matriz que contiene cualquier respuesta.
UploadFileAsync Envía un archivo local al recurso, sin bloquear el subproceso que llama.
UploadValues Envía un NameValueCollection objeto al recurso y devuelve una Byte matriz que contiene cualquier respuesta.
UploadValuesAsync Envía un NameValueCollection objeto al recurso y devuelve una Byte matriz que contiene cualquier respuesta, sin bloquear el subproceso que realiza la llamada.
UploadString Envía un String objeto al recurso y devuelve un objeto String que contiene cualquier respuesta.
UploadStringAsync Envía un String objeto al recurso, sin bloquear el subproceso que llama.

En la tabla siguiente se describen WebClient los métodos para descargar datos de un recurso.

Método Descripción
OpenRead Devuelve los datos de un recurso como .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 Byte matriz.
DownloadDataAsync Descarga datos de un recurso y devuelve una Byte matriz, sin bloquear el subproceso que realiza la llamada.
DownloadFile Descarga datos de un recurso en un archivo local.
DownloadFileAsync Descarga datos de un recurso en un archivo local, sin bloquear el subproceso que llama.
DownloadString Descarga un String objeto de un recurso y devuelve un String.
DownloadStringAsync Descarga un String desde un recurso, sin bloquear el subproceso que llama.

Puede usar el CancelAsync método para intentar cancelar las operaciones asincrónicas.

Una WebClient instancia no envía encabezados HTTP opcionales de forma predeterminada. Si la solicitud requiere un encabezado opcional, debe agregar el encabezado a la Headers colección. 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 true en WebClient instancias de .

Notas a los desarrolladores de herederos

Las clases derivadas deben llamar a la implementación de clase base de para asegurarse de WebClient 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 deben almacenar en el búfer los datos leídos desde el recurso de Internet para una instancia de WebClient.

AllowWriteStreamBuffering
Obsoletos.

Obtiene o establece un valor que indica si se deben almacenar en el búfer los datos escritos en el recurso de Internet para una instancia de WebClient.

BaseAddress

Obtiene o establece el URI de 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 objetos WebRequest.

CanRaiseEvents

Obtiene un valor que indica si el componente puede generar un evento.

(Heredado de Component)
Container

Obtiene la interfaz IContainer que contiene la clase Component.

(Heredado de Component)
Credentials

Obtiene o establece las credenciales de red que se envían al host y se utilizan para autenticar la solicitud.

DesignMode

Obtiene un valor que indica si Component está actualmente en modo de diseño.

(Heredado de Component)
Encoding

Obtiene o establece el objeto Encoding usado para cargar y descargar cadenas.

Events

Obtiene la lista de controladores de eventos asociados a Component.

(Heredado de Component)
Headers

Obtiene o establece una colección de pares de nombre y valor de encabezado asociados a la solicitud.

IsBusy

Determina si hay una solicitud Web en curso.

Proxy

Obtiene o establece el servidor 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/valor de encabezado asociados a la respuesta.

Site

Obtiene o establece ISite de Component.

(Heredado de Component)
UseDefaultCredentials

Obtiene o establece un valor Boolean que controla si se envían DefaultCredentials con las solicitudes.

Métodos

CancelAsync()

Cancela una operación asincrónica pendiente.

CreateObjRef(Type)

Crea un objeto que contiene toda la información relevante necesaria para generar un proxy utilizado para comunicarse con un objeto remoto.

(Heredado de MarshalByRefObject)
Dispose()

Libera todos los recursos que usa Component.

(Heredado de Component)
Dispose(Boolean)

Libera los recursos no administrados que usa Component y, de forma opcional, libera los recursos administrados.

(Heredado de Component)
DownloadData(String)

Descarga el recurso como una matriz de Byte desde el URI especificado.

DownloadData(Uri)

Descarga el recurso como una matriz de Byte desde el URI especificado.

DownloadDataAsync(Uri)

Descarga el recurso como una matriz de Byte desde el URI especificado como una operación asincrónica.

DownloadDataAsync(Uri, Object)

Descarga el recurso como una matriz de Byte desde el URI especificado como una operación asincrónica.

DownloadDataTaskAsync(String)

Descarga el recurso como una matriz de Byte desde el URI especificado como una operación asincrónica utilizando un objeto de tarea.

DownloadDataTaskAsync(Uri)

Descarga el recurso como una matriz de Byte desde el URI especificado como una operación asincrónica utilizando 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 operación asincrónica utilizando un objeto de tarea.

DownloadFileTaskAsync(Uri, String)

Descarga el recurso especificado en un archivo local como operación asincrónica utilizando un objeto de tarea.

DownloadString(String)

Descarga el recurso solicitado como String. El recurso para descargar se especifica como una String que contiene el URI.

DownloadString(Uri)

Descarga el recurso solicitado como String. El recurso que se descarga se especifica como un Uri.

DownloadStringAsync(Uri)

Descarga el recurso especificado como 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 desde el URI especificado como una operación asincrónica utilizando un objeto de tarea.

DownloadStringTaskAsync(Uri)

Descarga el recurso como un String desde el URI especificado como una operación asincrónica utilizando un objeto de tarea.

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
GetHashCode()

Sirve como la 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 el servicio suministrado por Component o por 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 objeto WebResponse correspondiente al objeto WebRequest especificado.

GetWebResponse(WebRequest, IAsyncResult)

Devuelve el objeto WebResponse correspondiente al objeto WebRequest especificado utilizando el objeto IAsyncResult especificado.

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 Object actual.

(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 de los datos descargados desde un recurso con el URI especificado como String.

OpenRead(Uri)

Abre una secuencia legible de los datos descargados desde un recurso con el URI especificado como 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 utilizando un objeto de tarea.

OpenReadTaskAsync(Uri)

Abre una secuencia legible que contiene el recurso especificado como una operación asincrónica utilizando 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)

Abra una secuencia para escribir datos en el recurso especificado como una operación asincrónica utilizando un objeto de tarea.

OpenWriteTaskAsync(String, String)

Abra una secuencia para escribir datos en el recurso especificado como una operación asincrónica utilizando un objeto de tarea.

OpenWriteTaskAsync(Uri)

Abra una secuencia para escribir datos en el recurso especificado como una operación asincrónica utilizando un objeto de tarea.

OpenWriteTaskAsync(Uri, String)

Abra una secuencia para escribir datos en el recurso especificado como una operación asincrónica utilizando un objeto de tarea.

ToString()

Devuelve una 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, utilizando 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, utilizando el método especificado.

UploadDataAsync(Uri, Byte[])

Carga un búfer de datos en un recurso identificado mediante un URI utilizando 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 mediante un URI utilizando el método POST. 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 mediante un URI, utilizando el método especificado e identificando el token.

UploadDataTaskAsync(String, Byte[])

Carga un búfer de datos que contiene una matriz de Byte al URI especificado como una operación asincrónica utilizando un objeto de tarea.

UploadDataTaskAsync(String, String, Byte[])

Carga un búfer de datos que contiene una matriz de Byte al URI especificado como una operación asincrónica utilizando un objeto de tarea.

UploadDataTaskAsync(Uri, Byte[])

Carga un búfer de datos que contiene una matriz de Byte al URI especificado como una operación asincrónica utilizando un objeto de tarea.

UploadDataTaskAsync(Uri, String, Byte[])

Carga un búfer de datos que contiene una matriz de Byte al URI especificado como una operación asincrónica utilizando 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 operación asincrónica utilizando un objeto de tarea.

UploadFileTaskAsync(String, String, String)

Carga el archivo local especificado en un recurso como operación asincrónica utilizando un objeto de tarea.

UploadFileTaskAsync(Uri, String)

Carga el archivo local especificado en un recurso como operación asincrónica utilizando un objeto de tarea.

UploadFileTaskAsync(Uri, String, String)

Carga el archivo local especificado en un recurso como operación asincrónica utilizando 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 utilizando un objeto de tarea.

UploadStringTaskAsync(String, String, String)

Carga la cadena especificada en el recurso especificado como una operación asincrónica utilizando un objeto de tarea.

UploadStringTaskAsync(Uri, String)

Carga la cadena especificada en el recurso especificado como una operación asincrónica utilizando un objeto de tarea.

UploadStringTaskAsync(Uri, String, String)

Carga la cadena especificada en el recurso especificado como una operación asincrónica utilizando un objeto de tarea.

UploadValues(String, NameValueCollection)

Carga la colección de nombres y valores especificada en el recurso identificado mediante el URI especificado.

UploadValues(String, String, NameValueCollection)

Carga la colección de nombres y valores especificada en el recurso identificado mediante el URI especificado, utilizando el método especificado.

UploadValues(Uri, NameValueCollection)

Carga la colección de nombres y valores especificada en el recurso identificado mediante el URI especificado.

UploadValues(Uri, String, NameValueCollection)

Carga la colección de nombres y valores especificada en el recurso identificado mediante el URI especificado, utilizando el método especificado.

UploadValuesAsync(Uri, NameValueCollection)

Carga los datos de la colección de nombres y valores especificada en el recurso identificado mediante 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 de nombres y valores especificada en el recurso identificado mediante el URI especificado, utilizando 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 de nombres y valores especificada en el recurso identificado mediante el URI especificado, utilizando el método especificado. Este método no bloquea el subproceso que realiza la llamada y permite al llamador pasar un objeto al método que se invoca cuando la operación finaliza.

UploadValuesTaskAsync(String, NameValueCollection)

Carga la colección de nombre/valor en el recurso identificado por el URI especificado como una operación asincrónica utilizando un objeto de tarea.

UploadValuesTaskAsync(String, String, NameValueCollection)

Carga la colección de nombre/valor en el recurso identificado por el URI especificado como una operación asincrónica utilizando un objeto de tarea.

UploadValuesTaskAsync(Uri, NameValueCollection)

Carga la colección de nombre/valor en el recurso identificado por el URI especificado como una operación asincrónica utilizando un objeto de tarea.

UploadValuesTaskAsync(Uri, String, NameValueCollection)

Carga la colección de nombre/valor en el recurso identificado por el URI especificado como una operación asincrónica utilizando un objeto de tarea.

Eventos

Disposed

Tiene lugar cuando una llamada elimina el componente mediante una llamada al método Dispose().

(Heredado de Component)
DownloadDataCompleted

Se produce cuando finaliza una operación de descarga de datos asincrónica.

DownloadFileCompleted

Se produce cuando finaliza una operación de descarga de archivo asincrónica.

DownloadProgressChanged

Se produce cuando una operación de descarga asincrónica transfiere correctamente una parte o la totalidad de los datos.

DownloadStringCompleted

Se produce cuando finaliza una operación de descarga de recursos asincrónica.

OpenReadCompleted

Se produce cuando finaliza 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 finaliza una operación de carga de datos asincrónica.

UploadFileCompleted

Se produce cuando finaliza una operación de carga de archivos asincrónica.

UploadProgressChanged

Se produce cuando una operación de carga asincrónica transfiere correctamente una parte o la totalidad de los datos.

UploadStringCompleted

Se produce cuando se completa una operación de carga de cadenas asincrónica.

UploadValuesCompleted

Se produce cuando finaliza una operación de carga asincrónica de una colección de nombres y valores.

WriteStreamClosed
Obsoletos.

Se produce cuando se cierra una operación asincrónica para escribir datos en un recurso usando una secuencia de escritura.

Se aplica a

Consulte también