WebClient Clase

Definición

Proporciona métodos comunes para enviar y recibir datos de un recurso identificado por un URI.

public ref class WebClient sealed : System::ComponentModel::Component
public ref 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
public class WebClient : System.ComponentModel.Component
[<System.Runtime.InteropServices.ComVisible(true)>]
type WebClient = class
    inherit Component
type WebClient = class
    inherit Component
Public NotInheritable Class WebClient
Inherits Component
Public 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

Caution

WebRequest, HttpWebRequest, ServicePointy WebClient están obsoletos y no debe usarlos para el nuevo desarrollo. Utilice HttpClient en su lugar.

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 .

Note

De forma predeterminada, .NET Framework admite URI que comienzan por http:, https:, ftp: y identificadores de esquema 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 Byte matriz que contiene cualquier 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 String objeto que contiene cualquier respuesta.
UploadStringAsync Envía un String elemento 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 a 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 operaciones asincrónicas.

Una WebClient instancia de 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 en instancias WebClient .

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

Nombre Description
WebClient()

Inicializa una nueva instancia de la clase WebClient.

Propiedades

Nombre Description
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 WebClient instancia de .

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 WebClient instancia de .

BaseAddress

Obtiene o establece el URI base para las solicitudes realizadas por .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 objeto que contiene el Componentobjeto .

(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 Component el objeto está actualmente en modo de diseño.

(Heredado de Component)
Encoding

Obtiene o establece el Encoding utilizado para cargar y descargar cadenas.

Events

Obtiene la lista de controladores de eventos que están asociados a este Componentobjeto .

(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 WebClient objeto.

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 ISite de Component.

(Heredado de Component)
UseDefaultCredentials

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

Métodos

Nombre Description
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 .Component

(Heredado de Component)
Dispose(Boolean)

Libera los recursos no administrados utilizados por Component y, opcionalmente, libera los recursos administrados.

(Heredado de Component)
DownloadData(String)

Descarga el recurso como una Byte matriz del URI especificado.

DownloadData(Uri)

Descarga el recurso como una Byte matriz del URI especificado.

DownloadDataAsync(Uri, Object)

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

DownloadDataAsync(Uri)

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

DownloadDataTaskAsync(String)

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

DownloadDataTaskAsync(Uri)

Descarga el recurso como una Byte matriz 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, Object)

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)

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 .String El recurso que se va a descargar se especifica como que String contiene el URI.

DownloadString(Uri)

Descarga el recurso solicitado como .String El recurso que se va a descargar se especifica como .Uri

DownloadStringAsync(Uri, Object)

Descarga la cadena especificada en el recurso especificado. Este método no bloquea el subproceso que realiza la llamada.

DownloadStringAsync(Uri)

Descarga el recurso especificado como .Uri Este método no bloquea el subproceso que realiza la llamada.

DownloadStringTaskAsync(String)

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

DownloadStringTaskAsync(Uri)

Descarga el recurso como desde String el 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 la función hash predeterminada.

(Heredado de Object)
GetLifetimeService()

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 Component o por su Container.

(Heredado de Component)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
GetWebRequest(Uri)

Devuelve un WebRequest objeto para el recurso especificado.

GetWebResponse(WebRequest, IAsyncResult)

Devuelve para WebResponse el objeto especificado WebRequest mediante el especificado IAsyncResult.

GetWebResponse(WebRequest)

Devuelve para WebResponse el objeto especificado WebRequest.

InitializeLifetimeService()

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

(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 .String

OpenRead(Uri)

Abre una secuencia legible para los datos descargados de un recurso con el URI especificado como .Uri

OpenReadAsync(Uri, Object)

Abre una secuencia legible que contiene el recurso especificado. Este método no bloquea el subproceso que realiza la llamada.

OpenReadAsync(Uri)

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, String)

Abre una secuencia para escribir datos en el recurso especificado mediante el método especificado.

OpenWrite(String)

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.

OpenWrite(Uri)

Abre una secuencia para escribir datos en el recurso especificado.

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.

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)

Abre una secuencia para escribir datos en el recurso especificado. Este método no bloquea el subproceso que realiza la llamada.

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(String)

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.

OpenWriteTaskAsync(Uri)

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 objeto que contiene el nombre de 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[], 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.

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.

UploadDataTaskAsync(String, Byte[])

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

UploadFile(String, String, String)

Carga el archivo local especificado en el recurso especificado mediante el método especificado.

UploadFile(String, 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.

UploadFile(Uri, String)

Carga el archivo local especificado en un recurso con el URI especificado.

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.

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)

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, String)

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

UploadFileTaskAsync(String, 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.

UploadFileTaskAsync(Uri, String)

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

UploadString(String, String, String)

Carga la cadena especificada en el recurso especificado mediante el método especificado.

UploadString(String, 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.

UploadString(Uri, String)

Carga la cadena especificada en el recurso especificado mediante el método POST.

UploadStringAsync(Uri, String, String, Object)

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)

Carga la cadena especificada en el recurso especificado. Este método no bloquea el subproceso que realiza la llamada.

UploadStringTaskAsync(String, String, String)

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

UploadStringTaskAsync(String, 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.

UploadStringTaskAsync(Uri, 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, 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.

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.

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

Nombre Description
Disposed

Se produce cuando el componente se elimina mediante una llamada al Dispose() método .

(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.

Se aplica a

Consulte también