WebClient Classe
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Fornece métodos comuns para enviar dados e receber dados de um recurso identificado por um 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
- Herança
- Atributos
O exemplo de código a seguir usa o URI de um recurso, recupera-o e exibe 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
Atenção
WebRequest
, HttpWebRequest
, ServicePoint
e WebClient
estão obsoletos e você não deve usá-los para um novo desenvolvimento. Em vez disso, use HttpClient.
A classe WebClient fornece métodos comuns para enviar dados ou receber dados de qualquer recurso local, intranet ou internet identificado por um URI.
A classe WebClient usa a classe WebRequest para fornecer acesso aos recursos. WebClient instâncias podem acessar dados com qualquer descendente WebRequest registrado com o método WebRequest.RegisterPrefix.
Nota
Por padrão, o .NET Framework dá suporte a URIs que começam com identificadores de esquema http:
, https:
, ftp:
e file:
.
A tabela a seguir descreve WebClient métodos para carregar dados em um recurso.
Método | Descrição |
---|---|
OpenWrite | Recupera um Stream usado para enviar dados para o recurso. |
OpenWriteAsync | Recupera um Stream usado para enviar dados para o recurso, sem bloquear o thread de chamada. |
UploadData | Envia uma matriz de bytes para o recurso e retorna uma matriz de Byte que contém qualquer resposta. |
UploadDataAsync | Envia uma matriz de Byte para o recurso, sem bloquear o thread de chamada. |
UploadFile | Envia um arquivo local para o recurso e retorna uma matriz de Byte que contém qualquer resposta. |
UploadFileAsync | Envia um arquivo local para o recurso, sem bloquear o thread de chamada. |
UploadValues | Envia um NameValueCollection para o recurso e retorna uma matriz de Byte que contém qualquer resposta. |
UploadValuesAsync | Envia um NameValueCollection para o recurso e retorna uma matriz de Byte que contém qualquer resposta, sem bloquear o thread de chamada. |
UploadString | Envia um String para o recurso e retorna um String que contém qualquer resposta. |
UploadStringAsync | Envia um String para o recurso, sem bloquear o thread de chamada. |
A tabela a seguir descreve WebClient métodos para baixar dados de um recurso.
Método | Descrição |
---|---|
OpenRead | Retorna os dados de um recurso como um Stream. |
OpenReadAsync | Retorna os dados de um recurso, sem bloquear o thread de chamada. |
DownloadData | Baixa dados de um recurso e retorna uma matriz de Byte. |
DownloadDataAsync | Baixa dados de um recurso e retorna uma matriz de Byte, sem bloquear o thread de chamada. |
DownloadFile | Baixa dados de um recurso para um arquivo local. |
DownloadFileAsync | Baixa dados de um recurso para um arquivo local, sem bloquear o thread de chamada. |
DownloadString | Baixa um String de um recurso e retorna um String. |
DownloadStringAsync | Baixa um String de um recurso, sem bloquear o thread de chamada. |
Você pode usar o método CancelAsync para tentar cancelar operações assíncronas.
Uma instância de WebClient não envia cabeçalhos HTTP opcionais por padrão. Se sua solicitação exigir um cabeçalho opcional, você deverá adicionar o cabeçalho à coleção Headers. Por exemplo, para reter consultas na resposta, você deve adicionar um cabeçalho de agente de usuário. Além disso, os servidores poderão retornar 500 (Erro interno do servidor) se o cabeçalho do agente do usuário estiver ausente.
AllowAutoRedirect está definido como true
em instâncias de WebClient.
Classes derivadas devem chamar a implementação da classe base de WebClient para garantir que a classe derivada funcione conforme o esperado.
Web |
Obsoleto.
Inicializa uma nova instância da classe WebClient. |
Allow |
Obsoleto.
Obtém ou define um valor que indica se os dados lidos do recurso da Internet devem ser armazenados em buffer para uma instância de WebClient. |
Allow |
Obsoleto.
Obtém ou define um valor que indica se os dados gravados no recurso da Internet devem ser armazenados em buffer para uma instância de WebClient. |
Base |
Obtém ou define o URI base para solicitações feitas por um WebClient. |
Cache |
Obtém ou define a política de cache do aplicativo para todos os recursos obtidos por essa instância do WebClient usando objetos WebRequest. |
Can |
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 define as credenciais de rede que são enviadas para o host e usadas para autenticar a solicitação. |
Design |
Obtém um valor que indica se o Component está atualmente no modo de design. (Herdado de Component) |
Encoding |
Obtém ou define o Encoding usado para carregar e baixar cadeias de caracteres. |
Events |
Obtém a lista de manipuladores de eventos anexados a este Component. (Herdado de Component) |
Headers |
Obtém ou define uma coleção de pares nome/valor de cabeçalho associados à solicitação. |
Is |
Obtém se uma solicitação da Web está em andamento. |
Proxy |
Obtém ou define o proxy usado por este objeto WebClient. |
Query |
Obtém ou define uma coleção de pares nome/valor de consulta associados à solicitação. |
Response |
Obtém uma coleção de pares nome/valor de cabeçalho associados à resposta. |
Site |
Obtém ou define o ISite do Component. (Herdado de Component) |
Use |
Obtém ou define um valor Boolean que controla se os DefaultCredentials são enviados com solicitações. |
Cancel |
Cancela uma operação assíncrona pendente. |
Create |
Cria um objeto que contém todas as informações relevantes necessárias para gerar um proxy usado para se comunicar com um objeto remoto. (Herdado de MarshalByRefObject) |
Dispose() |
Libera todos os recursos usados pelo Component. (Herdado de Component) |
Dispose(Boolean) |
Libera os recursos não gerenciados usados pelo Component e, opcionalmente, libera os recursos gerenciados. (Herdado de Component) |
Download |
Baixa o recurso como uma matriz de Byte do URI especificado. |
Download |
Baixa o recurso como uma matriz de Byte do URI especificado. |
Download |
Baixa o recurso como uma matriz Byte do URI especificado como uma operação assíncrona. |
Download |
Baixa o recurso como uma matriz Byte do URI especificado como uma operação assíncrona. |
Download |
Baixa o recurso como uma matriz Byte do URI especificado como uma operação assíncrona usando um objeto de tarefa. |
Download |
Baixa o recurso como uma matriz Byte do URI especificado como uma operação assíncrona usando um objeto de tarefa. |
Download |
Baixa o recurso com o URI especificado em um arquivo local. |
Download |
Baixa o recurso com o URI especificado em um arquivo local. |
Download |
Baixa, em um arquivo local, o recurso com o URI especificado. Esse método não bloqueia o thread de chamada. |
Download |
Baixa, em um arquivo local, o recurso com o URI especificado. Esse método não bloqueia o thread de chamada. |
Download |
Baixa o recurso especificado em um arquivo local como uma operação assíncrona usando um objeto de tarefa. |
Download |
Baixa o recurso especificado em um arquivo local como uma operação assíncrona usando um objeto de tarefa. |
Download |
Baixa o recurso solicitado como um String. O recurso a ser baixado é especificado como um String que contém o URI. |
Download |
Baixa o recurso solicitado como um String. O recurso a ser baixado é especificado como um Uri. |
Download |
Baixa o recurso especificado como um Uri. Esse método não bloqueia o thread de chamada. |
Download |
Baixa a cadeia de caracteres especificada para o recurso especificado. Esse método não bloqueia o thread de chamada. |
Download |
Baixa o recurso como um String do URI especificado como uma operação assíncrona usando um objeto de tarefa. |
Download |
Baixa o recurso como um String do URI especificado como uma operação assíncrona usando um objeto de tarefa. |
Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
Get |
Serve como a função de hash padrão. (Herdado de Object) |
Get |
Obsoleto.
Recupera o objeto de serviço de tempo de vida atual que controla a política de tempo de vida para essa instância. (Herdado de MarshalByRefObject) |
Get |
Retorna um objeto que representa um serviço fornecido pelo Component ou por seu Container. (Herdado de Component) |
Get |
Obtém o Type da instância atual. (Herdado de Object) |
Get |
Retorna um objeto WebRequest para o recurso especificado. |
Get |
Retorna o WebResponse do WebRequestespecificado. |
Get |
Retorna o WebResponse do WebRequest especificado usando o IAsyncResultespecificado. |
Initialize |
Obsoleto.
Obtém um objeto de serviço de tempo de vida para controlar a política de tempo de vida dessa instância. (Herdado de MarshalByRefObject) |
Memberwise |
Cria uma cópia superficial do Objectatual. (Herdado de Object) |
Memberwise |
Cria uma cópia superficial do objeto MarshalByRefObject atual. (Herdado de MarshalByRefObject) |
On |
Gera o evento DownloadDataCompleted. |
On |
Gera o evento DownloadFileCompleted. |
On |
Gera o evento DownloadProgressChanged. |
On |
Gera o evento DownloadStringCompleted. |
On |
Gera o evento OpenReadCompleted. |
On |
Gera o evento OpenWriteCompleted. |
On |
Gera o evento UploadDataCompleted. |
On |
Gera o evento UploadFileCompleted. |
On |
Gera o evento UploadProgressChanged. |
On |
Gera o evento UploadStringCompleted. |
On |
Gera o evento UploadValuesCompleted. |
On |
Obsoleto.
Gera o evento WriteStreamClosed. |
Open |
Abre um fluxo legível para os dados baixados de um recurso com o URI especificado como um String. |
Open |
Abre um fluxo legível para os dados baixados de um recurso com o URI especificado como um Uri. |
Open |
Abre um fluxo legível que contém o recurso especificado. Esse método não bloqueia o thread de chamada. |
Open |
Abre um fluxo legível que contém o recurso especificado. Esse método não bloqueia o thread de chamada. |
Open |
Abre um fluxo legível que contém o recurso especificado como uma operação assíncrona usando um objeto de tarefa. |
Open |
Abre um fluxo legível que contém o recurso especificado como uma operação assíncrona usando um objeto de tarefa. |
Open |
Abre um fluxo para gravar dados no recurso especificado. |
Open |
Abre um fluxo para gravar dados no recurso especificado, usando o método especificado. |
Open |
Abre um fluxo para gravar dados no recurso especificado. |
Open |
Abre um fluxo para gravar dados no recurso especificado usando o método especificado. |
Open |
Abre um fluxo para gravar dados no recurso especificado. Esse método não bloqueia o thread de chamada. |
Open |
Abre um fluxo para gravar dados no recurso especificado. Esse método não bloqueia o thread de chamada. |
Open |
Abre um fluxo para gravar dados no recurso especificado, usando o método especificado. Esse método não bloqueia o thread de chamada. |
Open |
Abre um fluxo para gravar dados no recurso especificado como uma operação assíncrona usando um objeto de tarefa. |
Open |
Abre um fluxo para gravar dados no recurso especificado como uma operação assíncrona usando um objeto de tarefa. |
Open |
Abre um fluxo para gravar dados no recurso especificado como uma operação assíncrona usando um objeto de tarefa. |
Open |
Abre um fluxo para gravar dados no recurso especificado como uma operação assíncrona usando um objeto de tarefa. |
To |
Retorna um String que contém o nome do Component, se houver. Esse método não deve ser substituído. (Herdado de Component) |
Upload |
Carrega um buffer de dados em um recurso identificado por um URI. |
Upload |
Carrega um buffer de dados para o recurso especificado, usando o método especificado. |
Upload |
Carrega um buffer de dados em um recurso identificado por um URI. |
Upload |
Carrega um buffer de dados para o recurso especificado, usando o método especificado. |
Upload |
Carrega um buffer de dados em um recurso identificado por um URI usando o método POST. Esse método não bloqueia o thread de chamada. |
Upload |
Carrega um buffer de dados em um recurso identificado por um URI usando o método especificado. Esse método não bloqueia o thread de chamada. |
Upload |
Carrega um buffer de dados em um recurso identificado por um URI, usando o método especificado e identificando o token. |
Upload |
Carrega um buffer de dados que contém uma matriz Byte para o URI especificado como uma operação assíncrona usando um objeto de tarefa. |
Upload |
Carrega um buffer de dados que contém uma matriz Byte para o URI especificado como uma operação assíncrona usando um objeto de tarefa. |
Upload |
Carrega um buffer de dados que contém uma matriz Byte para o URI especificado como uma operação assíncrona usando um objeto de tarefa. |
Upload |
Carrega um buffer de dados que contém uma matriz Byte para o URI especificado como uma operação assíncrona usando um objeto de tarefa. |
Upload |
Carrega o arquivo local especificado em um recurso com o URI especificado. |
Upload |
Carrega o arquivo local especificado para o recurso especificado, usando o método especificado. |
Upload |
Carrega o arquivo local especificado em um recurso com o URI especificado. |
Upload |
Carrega o arquivo local especificado para o recurso especificado, usando o método especificado. |
Upload |
Carrega o arquivo local especificado para o recurso especificado, usando o método POST. Esse método não bloqueia o thread de chamada. |
Upload |
Carrega o arquivo local especificado para o recurso especificado, usando o método POST. Esse método não bloqueia o thread de chamada. |
Upload |
Carrega o arquivo local especificado para o recurso especificado, usando o método POST. Esse método não bloqueia o thread de chamada. |
Upload |
Carrega o arquivo local especificado em um recurso como uma operação assíncrona usando um objeto de tarefa. |
Upload |
Carrega o arquivo local especificado em um recurso como uma operação assíncrona usando um objeto de tarefa. |
Upload |
Carrega o arquivo local especificado em um recurso como uma operação assíncrona usando um objeto de tarefa. |
Upload |
Carrega o arquivo local especificado em um recurso como uma operação assíncrona usando um objeto de tarefa. |
Upload |
Carrega a cadeia de caracteres especificada para o recurso especificado, usando o método POST. |
Upload |
Carrega a cadeia de caracteres especificada para o recurso especificado, usando o método especificado. |
Upload |
Carrega a cadeia de caracteres especificada para o recurso especificado, usando o método POST. |
Upload |
Carrega a cadeia de caracteres especificada para o recurso especificado, usando o método especificado. |
Upload |
Carrega a cadeia de caracteres especificada para o recurso especificado. Esse método não bloqueia o thread de chamada. |
Upload |
Carrega a cadeia de caracteres especificada para o recurso especificado. Esse método não bloqueia o thread de chamada. |
Upload |
Carrega a cadeia de caracteres especificada para o recurso especificado. Esse método não bloqueia o thread de chamada. |
Upload |
Carrega a cadeia de caracteres especificada para o recurso especificado como uma operação assíncrona usando um objeto de tarefa. |
Upload |
Carrega a cadeia de caracteres especificada para o recurso especificado como uma operação assíncrona usando um objeto de tarefa. |
Upload |
Carrega a cadeia de caracteres especificada para o recurso especificado como uma operação assíncrona usando um objeto de tarefa. |
Upload |
Carrega a cadeia de caracteres especificada para o recurso especificado como uma operação assíncrona usando um objeto de tarefa. |
Upload |
Carrega a coleção de nome/valor especificada para o recurso identificado pelo URI especificado. |
Upload |
Carrega a coleção de nome/valor especificada para o recurso identificado pelo URI especificado, usando o método especificado. |
Upload |
Carrega a coleção de nome/valor especificada para o recurso identificado pelo URI especificado. |
Upload |
Carrega a coleção de nome/valor especificada para o recurso identificado pelo URI especificado, usando o método especificado. |
Upload |
Carrega os dados na coleção de nome/valor especificado para o recurso identificado pelo URI especificado. Esse método não bloqueia o thread de chamada. |
Upload |
Carrega os dados na coleção de nome/valor especificado para o recurso identificado pelo URI especificado, usando o método especificado. Esse método não bloqueia o thread de chamada. |
Upload |
Carrega os dados na coleção de nome/valor especificado para o recurso identificado pelo URI especificado, usando o método especificado. Esse método não bloqueia o thread de chamada e permite que o chamador passe um objeto para o método que é invocado quando a operação é concluída. |
Upload |
Carrega a coleção de nome/valor especificada para o recurso identificado pelo URI especificado como uma operação assíncrona usando um objeto de tarefa. |
Upload |
Carrega a coleção de nome/valor especificada para o recurso identificado pelo URI especificado como uma operação assíncrona usando um objeto de tarefa. |
Upload |
Carrega a coleção de nome/valor especificada para o recurso identificado pelo URI especificado como uma operação assíncrona usando um objeto de tarefa. |
Upload |
Carrega a coleção de nome/valor especificada para o recurso identificado pelo URI especificado como uma operação assíncrona usando um objeto de tarefa. |
Disposed |
Ocorre quando o componente é descartado por uma chamada para o método Dispose(). (Herdado de Component) |
Download |
Ocorre quando uma operação de download de dados assíncrona é concluída. |
Download |
Ocorre quando uma operação de download de arquivo assíncrono é concluída. |
Download |
Ocorre quando uma operação de download assíncrona transfere com êxito alguns ou todos os dados. |
Download |
Ocorre quando uma operação assíncrona de download de recursos é concluída. |
Open |
Ocorre quando uma operação assíncrona para abrir um fluxo que contém um recurso é concluída. |
Open |
Ocorre quando uma operação assíncrona para abrir um fluxo para gravar dados em um recurso é concluída. |
Upload |
Ocorre quando uma operação assíncrona de upload de dados é concluída. |
Upload |
Ocorre quando uma operação assíncrona de upload de arquivo é concluída. |
Upload |
Ocorre quando uma operação de upload assíncrona transfere com êxito alguns ou todos os dados. |
Upload |
Ocorre quando uma operação assíncrona de carregamento de cadeia de caracteres é concluída. |
Upload |
Ocorre quando um upload assíncrono de uma coleção de nome/valor é concluído. |
Write |
Obsoleto.
Ocorre quando uma operação assíncrona para gravar dados em um recurso usando um fluxo de gravação é fechada. |
Produto | Versões |
---|---|
.NET | Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9 |
.NET Framework | 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
.NET Standard | 2.0, 2.1 |
Comentários do .NET
O .NET é um projeto código aberto. Selecione um link para fornecer comentários: