WebClient Classe

Definição

Fornece métodos comuns para enviar e receber dados de um recurso identificado por um 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
Herança
Atributos

Exemplos

O seguinte exemplo de código pega no URI de um recurso, recupera-o e mostra a resposta.

#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

Observações

Atenção

WebRequest, HttpWebRequest, ServicePoint, e WebClient são obsoletos, e não deves usá-los para novos desenvolvimentos. Utilize HttpClient em substituição.

A WebClient classe fornece métodos comuns para enviar ou receber dados de qualquer recurso local, intranet ou Internet identificado por um URI.

A WebClient classe utiliza a WebRequest classe para fornecer acesso a recursos. WebClient As instâncias podem aceder a dados com qualquer WebRequest descendente registado no WebRequest.RegisterPrefix método.

Note

Por defeito, .NET Framework suporta URIs que começam com http:, https:, ftp: e file: identificadores.

A tabela seguinte descreve WebClient métodos para carregar dados para um recurso.

Método Description
OpenWrite Recupera um Stream usado para enviar dados ao recurso.
OpenWriteAsync Recupera um Stream usado para enviar dados ao recurso, sem bloquear o thread que chama.
UploadData Envia um array de bytes para o recurso e devolve um Byte array contendo qualquer resposta.
UploadDataAsync Envia um Byte array para o recurso, sem bloquear o thread que chama.
UploadFile Envia um ficheiro local para o recurso e devolve um Byte array contendo qualquer resposta.
UploadFileAsync Envia um ficheiro local para o recurso, sem bloquear a thread que chama.
UploadValues Envia a NameValueCollection para o recurso e devolve um Byte array contendo qualquer resposta.
UploadValuesAsync Envia a NameValueCollection para o recurso e devolve um Byte array contendo qualquer resposta, sem bloquear o thread que chama.
UploadString Envia a String para o recurso e devolve um String contendo qualquer resposta.
UploadStringAsync Envia a String para o recurso, sem bloquear o thread que chama.

A tabela seguinte descreve WebClient métodos para descarregar dados de um recurso.

Método Description
OpenRead Devolve os dados de um recurso como um Stream.
OpenReadAsync Devolve os dados de um recurso, sem bloquear o thread que chama.
DownloadData Descarrega dados de um recurso e devolve um Byte array.
DownloadDataAsync Descarrega dados de um recurso e devolve um Byte array, sem bloquear o thread que chama.
DownloadFile Descarrega dados de um recurso para um ficheiro local.
DownloadFileAsync Descarrega dados de um recurso para um ficheiro local, sem bloquear o fio que chama.
DownloadString Descarrega um String de um recurso e retorna um String.
DownloadStringAsync Descarrega a String de um recurso, sem bloquear o fio que chama.

Pode usar o CancelAsync método para tentar cancelar operações assíncronas.

Uma WebClient instância não envia cabeçalhos HTTP opcionais por defeito. Se o seu pedido exigir um cabeçalho opcional, deve adicionar o cabeçalho à Headers coleção. Por exemplo, para reter as consultas na resposta, deve adicionar um cabeçalho user-agent. Além disso, os servidores podem devolver 500 (Erro de Servidor Interno) se o cabeçalho do agente de utilizador estiver em falta.

AllowAutoRedirect está definido como true em instâncias WebClient .

Notas para Herdeiros

As classes derivadas devem chamar a implementação da classe base de WebClient para garantir que a classe derivada funciona como esperado.

Construtores

Name Description
WebClient()

Inicializa uma nova instância da WebClient classe.

Propriedades

Name Description
AllowReadStreamBuffering
Obsoleto.

Recebe ou define um valor que indica se deve armazenar em buffer os dados lidos do recurso da Internet para uma WebClient instância.

AllowWriteStreamBuffering
Obsoleto.

Recebe ou define um valor que indica se deve armazenar em buffer os dados escritos no recurso da Internet para uma WebClient instância.

BaseAddress

Obtém ou define o URI base para pedidos feitos por um WebClient.

CachePolicy

Obtém ou define a política de cache da aplicação para quaisquer recursos obtidos por esta instância WebClient usando WebRequest objetos.

CanRaiseEvents

Obtém um valor que indica se o componente pode gerar um evento.

(Herdado de Component)
Container

Obtém o IContainer que contém o Component.

(Herdado de Component)
Credentials

Obtém ou definem as credenciais de rede que são enviadas ao anfitrião e usadas para autenticar o pedido.

DesignMode

Obtém um valor que indica se o Component está atualmente em modo de design.

(Herdado de Component)
Encoding

Obtém ou define o Encoding que é usado para carregar e descarregar strings.

Events

Obtém a lista de gestores de eventos que estão ligados a isto Component.

(Herdado de Component)
Headers

Obtém ou define uma coleção de pares de nomes de cabeçalho/valor associados ao pedido.

IsBusy

Percebe se um pedido Web está em curso.

Proxy

Obtém ou define o proxy usado por este WebClient objeto.

QueryString

Recebe ou define uma coleção de pares nome/valor de consulta associados ao pedido.

ResponseHeaders

Recebe uma coleção de pares nome/valor de cabeçalho associados à resposta.

Site

Obtém ou define o ISite do Component.

(Herdado de Component)
UseDefaultCredentials

Recebe ou define um Boolean valor que controla se são DefaultCredentials enviados com pedidos.

Métodos

Name Description
CancelAsync()

Cancela uma operação assíncrona pendente.

CreateObjRef(Type)

Cria um objeto que contém toda a informação relevante necessária para gerar um proxy usado para comunicar com um objeto remoto.

(Herdado de MarshalByRefObject)
Dispose()

Liberta todos os recursos utilizados pelo Component.

(Herdado de Component)
Dispose(Boolean)

Liberta os recursos não geridos usados pelo Component e opcionalmente liberta os recursos geridos.

(Herdado de Component)
DownloadData(String)

Descarrega o recurso como um Byte array a partir do URI especificado.

DownloadData(Uri)

Descarrega o recurso como um Byte array a partir do URI especificado.

DownloadDataAsync(Uri, Object)

Descarrega o recurso como um Byte array a partir do URI especificado como uma operação assíncrona.

DownloadDataAsync(Uri)

Descarrega o recurso como um Byte array a partir do URI especificado como uma operação assíncrona.

DownloadDataTaskAsync(String)

Descarrega o recurso como um Byte array a partir do URI especificado como uma operação assíncrona usando um objeto tarefa.

DownloadDataTaskAsync(Uri)

Descarrega o recurso como um Byte array a partir do URI especificado como uma operação assíncrona usando um objeto tarefa.

DownloadFile(String, String)

Descarrega o recurso com o URI especificado para um ficheiro local.

DownloadFile(Uri, String)

Descarrega o recurso com o URI especificado para um ficheiro local.

DownloadFileAsync(Uri, String, Object)

Descarrega, para um ficheiro local, o recurso com o URI especificado. Este método não bloqueia o thread que chama.

DownloadFileAsync(Uri, String)

Descarrega, para um ficheiro local, o recurso com o URI especificado. Este método não bloqueia o thread que chama.

DownloadFileTaskAsync(String, String)

Descarrega o recurso especificado para um ficheiro local como uma operação assíncrona usando um objeto tarefa.

DownloadFileTaskAsync(Uri, String)

Descarrega o recurso especificado para um ficheiro local como uma operação assíncrona usando um objeto tarefa.

DownloadString(String)

Descarrega o recurso solicitado como um String. O recurso a descarregar é especificado como contendo String o URI.

DownloadString(Uri)

Descarrega o recurso solicitado como um String. O recurso a descarregar é especificado como um Uri.

DownloadStringAsync(Uri, Object)

Descarrega a cadeia especificada para o recurso especificado. Este método não bloqueia o thread que chama.

DownloadStringAsync(Uri)

Descarrega o recurso especificado como um Uri. Este método não bloqueia o thread que chama.

DownloadStringTaskAsync(String)

Descarrega o recurso como um String a partir do URI especificado como uma operação assíncrona usando um objeto tarefa.

DownloadStringTaskAsync(Uri)

Descarrega o recurso como um String a partir do URI especificado como uma operação assíncrona usando um objeto tarefa.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como função de hash predefinida.

(Herdado de Object)
GetLifetimeService()

Recupera o objeto de serviço de tempo de vida atual que controla a política de vida útil neste caso.

(Herdado de MarshalByRefObject)
GetService(Type)

Devolve um objeto que representa um serviço fornecido pelo Component ou pelo seu Container.

(Herdado de Component)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
GetWebRequest(Uri)

Devolve um WebRequest objeto para o recurso especificado.

GetWebResponse(WebRequest, IAsyncResult)

Devolve o WebResponse para o especificado WebRequest usando o especificado IAsyncResult.

GetWebResponse(WebRequest)

Devolve o WebResponse para o especificado WebRequest.

InitializeLifetimeService()

Obtém-se um objeto de serviço vitalício para controlar a apólice vitalícia neste caso.

(Herdado de MarshalByRefObject)
MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
MemberwiseClone(Boolean)

Cria uma cópia superficial do objeto atual MarshalByRefObject .

(Herdado de MarshalByRefObject)
OnDownloadDataCompleted(DownloadDataCompletedEventArgs)

Eleva o DownloadDataCompleted evento.

OnDownloadFileCompleted(AsyncCompletedEventArgs)

Eleva o DownloadFileCompleted evento.

OnDownloadProgressChanged(DownloadProgressChangedEventArgs)

Eleva o DownloadProgressChanged evento.

OnDownloadStringCompleted(DownloadStringCompletedEventArgs)

Eleva o DownloadStringCompleted evento.

OnOpenReadCompleted(OpenReadCompletedEventArgs)

Eleva o OpenReadCompleted evento.

OnOpenWriteCompleted(OpenWriteCompletedEventArgs)

Eleva o OpenWriteCompleted evento.

OnUploadDataCompleted(UploadDataCompletedEventArgs)

Eleva o UploadDataCompleted evento.

OnUploadFileCompleted(UploadFileCompletedEventArgs)

Eleva o UploadFileCompleted evento.

OnUploadProgressChanged(UploadProgressChangedEventArgs)

Eleva o UploadProgressChanged evento.

OnUploadStringCompleted(UploadStringCompletedEventArgs)

Eleva o UploadStringCompleted evento.

OnUploadValuesCompleted(UploadValuesCompletedEventArgs)

Eleva o UploadValuesCompleted evento.

OnWriteStreamClosed(WriteStreamClosedEventArgs)
Obsoleto.

Eleva o WriteStreamClosed evento.

OpenRead(String)

Abre um fluxo legível para os dados descarregados de um recurso com o URI especificado como um String.

OpenRead(Uri)

Abre um fluxo legível para os dados descarregados de um recurso com o URI especificado como um Uri.

OpenReadAsync(Uri, Object)

Abre um fluxo legível contendo o recurso especificado. Este método não bloqueia o thread que chama.

OpenReadAsync(Uri)

Abre um fluxo legível contendo o recurso especificado. Este método não bloqueia o thread que chama.

OpenReadTaskAsync(String)

Abre um fluxo legível contendo o recurso especificado como uma operação assíncrona usando um objeto tarefa.

OpenReadTaskAsync(Uri)

Abre um fluxo legível contendo o recurso especificado como uma operação assíncrona usando um objeto tarefa.

OpenWrite(String, String)

Abre um fluxo para escrever dados no recurso especificado, usando o método especificado.

OpenWrite(String)

Abre um fluxo para escrever dados no recurso especificado.

OpenWrite(Uri, String)

Abre um fluxo para escrever dados no recurso especificado, utilizando o método especificado.

OpenWrite(Uri)

Abre um fluxo para escrever dados no recurso especificado.

OpenWriteAsync(Uri, String, Object)

Abre um fluxo para escrever dados no recurso especificado, usando o método especificado. Este método não bloqueia o thread que chama.

OpenWriteAsync(Uri, String)

Abre um fluxo para escrever dados no recurso especificado. Este método não bloqueia o thread que chama.

OpenWriteAsync(Uri)

Abre um fluxo para escrever dados no recurso especificado. Este método não bloqueia o thread que chama.

OpenWriteTaskAsync(String, String)

Abre um fluxo para escrever dados no recurso especificado como uma operação assíncrona usando um objeto tarefa.

OpenWriteTaskAsync(String)

Abre um fluxo para escrever dados no recurso especificado como uma operação assíncrona usando um objeto tarefa.

OpenWriteTaskAsync(Uri, String)

Abre um fluxo para escrever dados no recurso especificado como uma operação assíncrona usando um objeto tarefa.

OpenWriteTaskAsync(Uri)

Abre um fluxo para escrever dados no recurso especificado como uma operação assíncrona usando um objeto tarefa.

ToString()

Devolve a String contendo o nome do Component, se existir. Este método não deve ser ultrapassado.

(Herdado de Component)
UploadData(String, Byte[])

Carrega um buffer de dados para um recurso identificado por um URI.

UploadData(String, String, Byte[])

Carrega um buffer de dados para o recurso especificado, usando o método especificado.

UploadData(Uri, Byte[])

Carrega um buffer de dados para um recurso identificado por um URI.

UploadData(Uri, String, Byte[])

Carrega um buffer de dados para o recurso especificado, usando o método especificado.

UploadDataAsync(Uri, Byte[])

Carrega um buffer de dados para um recurso identificado por um URI, usando o método POST. Este método não bloqueia o thread que chama.

UploadDataAsync(Uri, String, Byte[], Object)

Carrega um buffer de dados para um recurso identificado por um URI, usando o método especificado e o token identificador.

UploadDataAsync(Uri, String, Byte[])

Carrega um buffer de dados para um recurso identificado por um URI, usando o método especificado. Este método não bloqueia o thread que chama.

UploadDataTaskAsync(String, Byte[])

Carrega um buffer de dados que contém um Byte array para o URI especificado como uma operação assíncrona usando um objeto de tarefa.

UploadDataTaskAsync(String, String, Byte[])

Carrega um buffer de dados que contém um Byte array para o URI especificado como uma operação assíncrona usando um objeto de tarefa.

UploadDataTaskAsync(Uri, Byte[])

Carrega um buffer de dados que contém um Byte array para o URI especificado como uma operação assíncrona usando um objeto de tarefa.

UploadDataTaskAsync(Uri, String, Byte[])

Carrega um buffer de dados que contém um Byte array para o URI especificado como uma operação assíncrona usando um objeto de tarefa.

UploadFile(String, String, String)

Carrega o ficheiro local especificado para o recurso especificado, usando o método especificado.

UploadFile(String, String)

Carrega o ficheiro local especificado para um recurso com o URI especificado.

UploadFile(Uri, String, String)

Carrega o ficheiro local especificado para o recurso especificado, usando o método especificado.

UploadFile(Uri, String)

Carrega o ficheiro local especificado para um recurso com o URI especificado.

UploadFileAsync(Uri, String, String, Object)

Carrega o ficheiro local especificado para o recurso especificado, usando o método POST. Este método não bloqueia o thread que chama.

UploadFileAsync(Uri, String, String)

Carrega o ficheiro local especificado para o recurso especificado, usando o método POST. Este método não bloqueia o thread que chama.

UploadFileAsync(Uri, String)

Carrega o ficheiro local especificado para o recurso especificado, usando o método POST. Este método não bloqueia o thread que chama.

UploadFileTaskAsync(String, String, String)

Carrega o ficheiro local especificado para um recurso como uma operação assíncrona usando um objeto de tarefa.

UploadFileTaskAsync(String, String)

Carrega o ficheiro local especificado para um recurso como uma operação assíncrona usando um objeto de tarefa.

UploadFileTaskAsync(Uri, String, String)

Carrega o ficheiro local especificado para um recurso como uma operação assíncrona usando um objeto de tarefa.

UploadFileTaskAsync(Uri, String)

Carrega o ficheiro local especificado para um recurso como uma operação assíncrona usando um objeto de tarefa.

UploadString(String, String, String)

Carrega a string especificada para o recurso especificado, usando o método especificado.

UploadString(String, String)

Carrega a string especificada para o recurso especificado, usando o método POST.

UploadString(Uri, String, String)

Carrega a string especificada para o recurso especificado, usando o método especificado.

UploadString(Uri, String)

Carrega a string especificada para o recurso especificado, usando o método POST.

UploadStringAsync(Uri, String, String, Object)

Carrega a string especificada para o recurso especificado. Este método não bloqueia o thread que chama.

UploadStringAsync(Uri, String, String)

Carrega a string especificada para o recurso especificado. Este método não bloqueia o thread que chama.

UploadStringAsync(Uri, String)

Carrega a string especificada para o recurso especificado. Este método não bloqueia o thread que chama.

UploadStringTaskAsync(String, String, String)

Carrega a string especificada para o recurso especificado como uma operação assíncrona usando um objeto de tarefa.

UploadStringTaskAsync(String, String)

Carrega a string especificada para o recurso especificado como uma operação assíncrona usando um objeto de tarefa.

UploadStringTaskAsync(Uri, String, String)

Carrega a string especificada para o recurso especificado como uma operação assíncrona usando um objeto de tarefa.

UploadStringTaskAsync(Uri, String)

Carrega a string especificada para o recurso especificado como uma operação assíncrona usando um objeto de tarefa.

UploadValues(String, NameValueCollection)

Carrega a coleção de nomes/valores especificada para o recurso identificado pelo URI especificado.

UploadValues(String, String, NameValueCollection)

Carrega a coleção de nomes/valores especificada para o recurso identificado pelo URI especificado, usando o método especificado.

UploadValues(Uri, NameValueCollection)

Carrega a coleção de nomes/valores especificada para o recurso identificado pelo URI especificado.

UploadValues(Uri, String, NameValueCollection)

Carrega a coleção de nomes/valores especificada para o recurso identificado pelo URI especificado, usando o método especificado.

UploadValuesAsync(Uri, NameValueCollection)

Carrega os dados da coleção de nome/valor especificada para o recurso identificado pelo URI especificado. Este método não bloqueia o thread que chama.

UploadValuesAsync(Uri, String, NameValueCollection, Object)

Carrega os dados da coleção de nome/valor especificada para o recurso identificado pelo URI especificado, usando o método especificado. Este método não bloqueia o thread que chama e permite ao chamador passar um objeto para o método que é invocado quando a operação termina.

UploadValuesAsync(Uri, String, NameValueCollection)

Carrega os dados da coleção de nome/valor especificada para o recurso identificado pelo URI especificado, usando o método especificado. Este método não bloqueia o thread que chama.

UploadValuesTaskAsync(String, NameValueCollection)

Carrega a coleção de nomes/valores especificada para o recurso identificado pelo URI especificado como uma operação assíncrona usando um objeto tarefa.

UploadValuesTaskAsync(String, String, NameValueCollection)

Carrega a coleção de nomes/valores especificada para o recurso identificado pelo URI especificado como uma operação assíncrona usando um objeto tarefa.

UploadValuesTaskAsync(Uri, NameValueCollection)

Carrega a coleção de nomes/valores especificada para o recurso identificado pelo URI especificado como uma operação assíncrona usando um objeto tarefa.

UploadValuesTaskAsync(Uri, String, NameValueCollection)

Carrega a coleção de nomes/valores especificada para o recurso identificado pelo URI especificado como uma operação assíncrona usando um objeto tarefa.

evento

Name Description
Disposed

Ocorre quando o componente é eliminado por uma chamada ao Dispose() método.

(Herdado de Component)
DownloadDataCompleted

Ocorre quando uma operação de descarga assíncrona de dados é concluída.

DownloadFileCompleted

Ocorre quando uma operação de download de ficheiros assíncrona é concluída.

DownloadProgressChanged

Ocorre quando uma operação de download assíncrona transfere com sucesso parte ou a totalidade dos dados.

DownloadStringCompleted

Ocorre quando uma operação assíncrona de download de recursos é concluída.

OpenReadCompleted

Ocorre quando uma operação assíncrona para abrir um fluxo contendo um recurso é concluída.

OpenWriteCompleted

Ocorre quando uma operação assíncrona para abrir um fluxo e escrever dados num recurso é concluída.

UploadDataCompleted

Ocorre quando uma operação assíncrona de carregamento de dados é concluída.

UploadFileCompleted

Ocorre quando uma operação assíncrona de carregamento de ficheiros é concluída.

UploadProgressChanged

Ocorre quando uma operação de upload assíncrona transfere com sucesso parte ou a totalidade dos dados.

UploadStringCompleted

Ocorre quando uma operação assíncrona de carregamento de strings é concluída.

UploadValuesCompleted

Ocorre quando um carregamento assíncrono de uma coleção de nomes/valores é concluído.

WriteStreamClosed
Obsoleto.

Ocorre quando uma operação assíncrona para escrever dados num recurso usando um fluxo de escrita é encerrada.

Aplica-se a

Ver também