WebRequest Classe

Definição

Faz uma solicitação para um URI (Uniform Resource Identifier). Esta é uma classe abstract.

public ref class WebRequest abstract
public ref class WebRequest abstract : MarshalByRefObject, System::Runtime::Serialization::ISerializable
public abstract class WebRequest
public abstract class WebRequest : MarshalByRefObject, System.Runtime.Serialization.ISerializable
[System.Serializable]
public abstract class WebRequest : MarshalByRefObject, System.Runtime.Serialization.ISerializable
type WebRequest = class
type WebRequest = class
    inherit MarshalByRefObject
    interface ISerializable
[<System.Serializable>]
type WebRequest = class
    inherit MarshalByRefObject
    interface ISerializable
Public MustInherit Class WebRequest
Public MustInherit Class WebRequest
Inherits MarshalByRefObject
Implements ISerializable
Herança
WebRequest
Herança
Derivado
Atributos
Implementações

Exemplos

O exemplo a seguir mostra como criar uma instância de WebRequest e retornar a resposta.

#using <System.dll>

using namespace System;
using namespace System::IO;
using namespace System::Net;
using namespace System::Text;
int main()
{
   
   // Create a request for the URL.   
   WebRequest^ request = WebRequest::Create( "http://www.contoso.com/default.html" );
   
   // If required by the server, set the credentials.
   request->Credentials = CredentialCache::DefaultCredentials;
   
   // Get the response.
   HttpWebResponse^ response = dynamic_cast<HttpWebResponse^>(request->GetResponse());
   
   // Display the status.
   Console::WriteLine( response->StatusDescription );
   
   // Get the stream containing content returned by the server.
   Stream^ dataStream = response->GetResponseStream();
   
   // Open the stream using a StreamReader for easy access.
   StreamReader^ reader = gcnew StreamReader( dataStream );
   
   // Read the content.
   String^ responseFromServer = reader->ReadToEnd();
   
   // Display the content.
   Console::WriteLine( responseFromServer );
   
   // Cleanup the streams and the response.
   reader->Close();
   dataStream->Close();
   response->Close();
}
using System;
using System.IO;
using System.Net;
using System.Text;

namespace Examples.System.Net
{
    public class WebRequestGetExample
    {
        public static void Main ()
        {
            // Create a request for the URL. 		
            WebRequest request = WebRequest.Create ("http://www.contoso.com/default.html");
            // If required by the server, set the credentials.
            request.Credentials = CredentialCache.DefaultCredentials;
            // Get the response.
            HttpWebResponse response = (HttpWebResponse)request.GetResponse ();
            // Display the status.
            Console.WriteLine (response.StatusDescription);
            // Get the stream containing content returned by the server.
            Stream dataStream = response.GetResponseStream ();
            // Open the stream using a StreamReader for easy access.
            StreamReader reader = new StreamReader (dataStream);
            // Read the content.
            string responseFromServer = reader.ReadToEnd ();
            // Display the content.
            Console.WriteLine (responseFromServer);
            // Cleanup the streams and the response.
            reader.Close ();
            dataStream.Close ();
            response.Close ();
        }
    }
}
Imports System.IO
Imports System.Net
Imports System.Text

Namespace Examples.System.Net
    Public Class WebRequestGetExample

        Public Shared Sub Main()
            ' Create a request for the URL. 		
            Dim request As WebRequest = WebRequest.Create("http://www.contoso.com/default.html")
            ' If required by the server, set the credentials.
            request.Credentials = CredentialCache.DefaultCredentials
            ' Get the response.
            Dim response As HttpWebResponse = CType(request.GetResponse(), HttpWebResponse)
            ' Display the status.
            Console.WriteLine(response.StatusDescription)
            ' Get the stream containing content returned by the server.
            Dim dataStream As Stream = response.GetResponseStream()
            ' Open the stream using a StreamReader for easy access.
            Dim reader As New StreamReader(dataStream)
            ' Read the content.
            Dim responseFromServer As String = reader.ReadToEnd()
            ' Display the content.
            Console.WriteLine(responseFromServer)
            ' Cleanup the streams and the response.
            reader.Close()
            dataStream.Close()
            response.Close()
        End Sub
    End Class
End Namespace

Comentários

Cuidado

WebRequest, HttpWebRequest, ServicePointe WebClient estão obsoletos e você não deve usá-los para um novo desenvolvimento. Em vez disso, use HttpClient.

WebRequest é a classe base abstract para . Modelo de solicitação/resposta do NET para acessar dados da Internet. Um aplicativo que usa o modelo de solicitação/resposta pode solicitar dados da Internet de maneira independente de protocolo, na qual o aplicativo trabalha com instâncias da classe WebRequest enquanto classes descendentes específicas do protocolo realizam os detalhes da solicitação.

As solicitações são enviadas de um aplicativo para um URI específico, como uma página da Web em um servidor. O URI determina a classe descendente adequada a ser criada a partir de uma lista de descendentes WebRequest registrados para o aplicativo. WebRequest descendentes normalmente são registrados para lidar com um protocolo específico, como HTTP ou FTP, mas podem ser registrados para lidar com uma solicitação para um servidor ou caminho específico em um servidor.

A classe WebRequest lança um WebException quando ocorrem erros ao acessar um recurso da Internet. A propriedade Status é um dos valores WebExceptionStatus que indica a origem do erro. Quando Status é WebExceptionStatus.ProtocolError, a propriedade Response contém o WebResponse recebido do recurso da Internet.

Como a classe WebRequest é uma classe abstract, o comportamento real de instâncias WebRequest em tempo de execução é determinado pela classe descendente retornada por Create método. Para obter mais informações sobre valores e exceções padrão, consulte a documentação das classes descendentes, como HttpWebRequest e FileWebRequest.

Nota

Use o método Create para inicializar novas instâncias de WebRequest. Não use o construtor WebRequest.

Nota

Se o aplicativo que cria o objeto WebRequest for executado com as credenciais de um usuário Normal, o aplicativo não poderá acessar certificados instalados no repositório de máquinas local, a menos que a permissão tenha sido explicitamente dada ao usuário para fazer isso.

Notas aos Implementadores

Ao herdar de WebRequest, você deve substituir os seguintes membros: Method, RequestUri, Headers, ContentLength, ContentType, Credentials, PreAuthenticate, GetRequestStream(), BeginGetRequestStream(AsyncCallback, Object), EndGetRequestStream(IAsyncResult), GetResponse(), BeginGetResponse(AsyncCallback, Object)e EndGetResponse(IAsyncResult). Além disso, você deve fornecer uma implementação da interface IWebRequestCreate, que define o método Create(Uri) usado quando você chama Create(Uri). Você deve registrar a classe que implementa a interface IWebRequestCreate, usando o método RegisterPrefix(String, IWebRequestCreate) ou o arquivo de configuração.

Construtores

WebRequest()
Obsoleto.

Inicializa uma nova instância da classe WebRequest.

WebRequest(SerializationInfo, StreamingContext)
Obsoleto.

Inicializa uma nova instância da classe WebRequest das instâncias especificadas das classes SerializationInfo e StreamingContext.

Propriedades

AuthenticationLevel

Obtém ou define valores que indicam o nível de autenticação e representação usados para essa solicitação.

CachePolicy

Obtém ou define a política de cache para essa solicitação.

ConnectionGroupName

Quando substituído em uma classe descendente, obtém ou define o nome do grupo de conexões para a solicitação.

ContentLength

Quando substituído em uma classe descendente, obtém ou define o comprimento do conteúdo dos dados de solicitação que estão sendo enviados.

ContentType

Quando substituído em uma classe descendente, obtém ou define o tipo de conteúdo dos dados de solicitação que estão sendo enviados.

CreatorInstance
Obsoleto.

Quando substituído em uma classe descendente, obtém o objeto de fábrica derivado da classe IWebRequestCreate usada para criar o WebRequest instanciado para fazer a solicitação para o URI especificado.

Credentials

Quando substituído em uma classe descendente, obtém ou define as credenciais de rede usadas para autenticar a solicitação com o recurso da Internet.

DefaultCachePolicy

Obtém ou define a política de cache padrão para essa solicitação.

DefaultWebProxy

Obtém ou define o proxy HTTP global.

Headers

Quando substituído em uma classe descendente, obtém ou define a coleção de pares nome/valor de cabeçalho associados à solicitação.

ImpersonationLevel

Obtém ou define o nível de representação da solicitação atual.

Method

Quando substituído em uma classe descendente, obtém ou define o método de protocolo a ser usado nesta solicitação.

PreAuthenticate

Quando substituído em uma classe descendente, indica se a solicitação deve ser pré-autenticada.

Proxy

Quando substituído em uma classe descendente, obtém ou define o proxy de rede a ser usado para acessar esse recurso da Internet.

RequestUri

Quando substituído em uma classe descendente, obtém o URI do recurso de Internet associado à solicitação.

Timeout

Obtém ou define o período de tempo, em milissegundos, antes do tempo limite da solicitação.

UseDefaultCredentials

Quando substituído em uma classe descendente, obtém ou define um valor Boolean que controla se DefaultCredentials são enviados com solicitações.

Métodos

Abort()

Anula a solicitação.

BeginGetRequestStream(AsyncCallback, Object)

Quando substituído em uma classe descendente, fornece uma versão assíncrona do método GetRequestStream().

BeginGetResponse(AsyncCallback, Object)

Quando substituído em uma classe descendente, inicia uma solicitação assíncrona para um recurso da Internet.

Create(String)
Obsoleto.

Inicializa uma nova instância de WebRequest para o esquema de URI especificado.

Create(Uri)
Obsoleto.

Inicializa uma nova instância de WebRequest para o esquema de URI especificado.

CreateDefault(Uri)
Obsoleto.

Inicializa uma nova instância de WebRequest para o esquema de URI especificado.

CreateHttp(String)
Obsoleto.

Inicializa uma nova instância de HttpWebRequest para a cadeia de caracteres de URI especificada.

CreateHttp(Uri)
Obsoleto.

Inicializa uma nova instância de HttpWebRequest para o URI especificado.

CreateObjRef(Type)

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)
EndGetRequestStream(IAsyncResult)

Quando substituído em uma classe descendente, retorna um Stream para gravar dados no recurso da Internet.

EndGetResponse(IAsyncResult)

Quando substituído em uma classe descendente, retorna um WebResponse.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetLifetimeService()
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)
GetObjectData(SerializationInfo, StreamingContext)
Obsoleto.

Popula um SerializationInfo com os dados necessários para serializar o objeto de destino.

GetRequestStream()

Quando substituído em uma classe descendente, retorna um Stream para gravar dados no recurso da Internet.

GetRequestStreamAsync()

Quando substituído em uma classe descendente, retorna um Stream para gravar dados no recurso da Internet como uma operação assíncrona.

GetResponse()

Quando substituído em uma classe descendente, retorna uma resposta a uma solicitação da Internet.

GetResponseAsync()

Quando substituído em uma classe descendente, retorna uma resposta a uma solicitação da Internet como uma operação assíncrona.

GetSystemWebProxy()

Retorna um proxy configurado com as configurações de opções da Internet do usuário representado no momento.

GetType()

Obtém o Type da instância atual.

(Herdado de Object)
InitializeLifetimeService()
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)
MemberwiseClone()

Cria uma cópia superficial do Objectatual.

(Herdado de Object)
MemberwiseClone(Boolean)

Cria uma cópia superficial do objeto MarshalByRefObject atual.

(Herdado de MarshalByRefObject)
RegisterPortableWebRequestCreator(IWebRequestCreate)
Obsoleto.

Registre um objeto IWebRequestCreate.

RegisterPrefix(String, IWebRequestCreate)

Registra um descendente de WebRequest para o URI especificado.

ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Implantações explícitas de interface

ISerializable.GetObjectData(SerializationInfo, StreamingContext)
Obsoleto.

Quando substituído em uma classe descendente, popula uma instância de SerializationInfo com os dados necessários para serializar o WebRequest.

Aplica-se a

Confira também