WebRequest Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Faz um pedido a um Identificador Uniforme de Recursos (URI). Isto é uma abstract aula.
public ref class WebRequest abstract
public ref class WebRequest abstract : MarshalByRefObject, System::Runtime::Serialization::ISerializable
public abstract class WebRequest
[System.Serializable]
public abstract class WebRequest : MarshalByRefObject, System.Runtime.Serialization.ISerializable
public abstract class WebRequest : MarshalByRefObject, System.Runtime.Serialization.ISerializable
type WebRequest = class
[<System.Serializable>]
type WebRequest = class
inherit MarshalByRefObject
interface ISerializable
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 seguinte mostra como criar uma WebRequest instância e devolver a resposta.
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
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.
WebRequest é a classe base abstract para o modelo de pedido/resposta da .NET para aceder a dados da Internet. Uma aplicação que utiliza o modelo de pedido/resposta pode solicitar dados à Internet de forma independente do protocolo, em que a aplicação trabalha com instâncias da WebRequest classe enquanto classes descendentes específicas do protocolo executam os detalhes do pedido.
Os pedidos são enviados de uma aplicação para um URI específico, como uma página Web num servidor. O URI determina a classe descendente adequada a criar a partir de uma lista de WebRequest descendentes registados para a aplicação. WebRequest os descendentes são normalmente registados para lidar com um protocolo específico, como HTTP ou FTP, mas podem ser registados para tratar um pedido para um servidor ou caminho específico num servidor.
A WebRequest classe lança um WebException quando ocorrem erros ao aceder a um recurso da Internet. A Status propriedade é um dos WebExceptionStatus valores que indica a origem do erro. Quando Status é , a Response propriedade contém o WebResponse recebido do WebExceptionStatus.ProtocolErrorrecurso da Internet.
Como a WebRequest classe é uma abstract classe, o comportamento real das WebRequest instâncias em tempo de execução é determinado pela classe descendente devolvida pelo Create método. Para mais informações sobre valores e exceções por defeito, consulte a documentação das classes descendentes, como HttpWebRequest e FileWebRequest.
Note
Use o Create método para inicializar novas WebRequest instâncias. Não use o WebRequest construtor.
Note
Se a aplicação que cria o objeto WebRequest correr com as credenciais de um utilizador Normal, a aplicação não poderá aceder a certificados instalados no armazenamento local da máquina, a menos que tenha sido explicitamente dada permissão ao utilizador para o fazer.
Notas para Implementadores
Quando herdas de WebRequest, deves sobrepor os seguintes elementos: Method, RequestUri, Headers, ContentLength, ContentType, Credentials, PreAuthenticate, EndGetRequestStream(IAsyncResult)BeginGetRequestStream(AsyncCallback, Object)GetResponse()GetRequestStream()BeginGetResponse(AsyncCallback, Object)e .EndGetResponse(IAsyncResult) Além disso, deve fornecer uma implementação da IWebRequestCreate interface, que define o Create(Uri) método usado quando chama Create(Uri). Deve registar a classe que implementa a IWebRequestCreate interface, usando o RegisterPrefix(String, IWebRequestCreate) método ou o ficheiro de configuração.
Construtores
| Name | Description |
|---|---|
| WebRequest() |
Inicializa uma nova instância da WebRequest classe. |
| WebRequest(SerializationInfo, StreamingContext) |
Inicializa uma nova instância da WebRequest classe a partir das instâncias especificadas das SerializationInfo classes e StreamingContext . |
Propriedades
| Name | Description |
|---|---|
| AuthenticationLevel |
Obtém ou define valores que indicam o nível de autenticação e personificação usado para este pedido. |
| CachePolicy |
Recebe ou define a política de cache para este pedido. |
| ConnectionGroupName |
Quando é sobreposto numa classe descendente, obtém ou define o nome do grupo de ligação para o pedido. |
| ContentLength |
Quando sobrescrito numa classe descendente, obtém ou define o comprimento de conteúdo dos dados do pedido enviados. |
| ContentType |
Quando é sobreposto numa classe descendente, obtém ou define o tipo de conteúdo dos dados do pedido enviados. |
| CreatorInstance |
Obsoleto.
Quando sobrescrito numa classe descendente, obtém o objeto de fábrica derivado da IWebRequestCreate classe usada para criar a WebRequest instanciada para fazer o pedido ao URI especificado. |
| Credentials |
Quando é sobreposto numa classe descendente, obtém ou define as credenciais de rede usadas para autenticar o pedido com o recurso da Internet. |
| DefaultCachePolicy |
Obtém ou define a política de cache padrão para este pedido. |
| DefaultWebProxy |
Obtém ou define o proxy HTTP global. |
| Headers |
Quando sobrescrito numa classe descendente, obtém ou define a coleção de pares nome/valor do cabeçalho associados ao pedido. |
| ImpersonationLevel |
Obtém ou define o nível de personificação para o pedido atual. |
| Method |
Quando é sobreposto numa classe descendente, obtém ou define o método de protocolo a usar neste pedido. |
| PreAuthenticate |
Quando sobrescrito numa classe descendente, indica se deve pré-autenticar o pedido. |
| Proxy |
Quando é sobreposto numa classe descendente, obtém ou define o proxy de rede para aceder a este recurso da Internet. |
| RequestUri |
Quando é sobreposto numa classe descendente, obtém o URI do recurso de Internet associado ao pedido. |
| Timeout |
Obtém ou define a duração do tempo, em milissegundos, antes do pedido expirar. |
| UseDefaultCredentials |
Quando é sobreposto numa classe descendente, obtém ou define um Boolean valor que controla se DefaultCredentials são enviados com pedidos. |
Métodos
| Name | Description |
|---|---|
| Abort() |
Aborta o pedido. |
| BeginGetRequestStream(AsyncCallback, Object) |
Quando sobrescrito numa classe descendente, fornece uma versão assíncrona do GetRequestStream() método. |
| BeginGetResponse(AsyncCallback, Object) |
Quando é sobreposto numa classe descendente, inicia-se um pedido assíncrono para um recurso da Internet. |
| Create(String) |
Inicializa uma nova WebRequest instância para o esquema de URI especificado. |
| Create(Uri) |
Inicializa uma nova WebRequest instância para o esquema de URI especificado. |
| CreateDefault(Uri) |
Inicializa uma nova WebRequest instância para o esquema de URI especificado. |
| CreateHttp(String) |
Inicializa uma nova HttpWebRequest instância para a cadeia de URI especificada. |
| CreateHttp(Uri) |
Inicializa uma nova HttpWebRequest instância para o URI especificado. |
| 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) |
| EndGetRequestStream(IAsyncResult) |
Quando sobrescrito numa classe descendente, devolve a Stream para escrever dados no recurso da Internet. |
| EndGetResponse(IAsyncResult) |
Quando sobrescrito numa classe descendente, retorna um WebResponse. |
| 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) |
| GetObjectData(SerializationInfo, StreamingContext) |
Preenche a SerializationInfo com os dados necessários para serializar o objeto alvo. |
| GetRequestStream() |
Quando sobrescrito numa classe descendente, devolve a Stream para escrever dados no recurso da Internet. |
| GetRequestStreamAsync() |
Quando sobreposto numa classe descendente, devolve a Stream para escrever dados no recurso da Internet como uma operação assíncrona. |
| GetResponse() |
Quando é sobreposto numa classe descendente, devolve uma resposta a um pedido na Internet. |
| GetResponseAsync() |
Quando sobreposto numa classe descendente, devolve uma resposta a um pedido da Internet como uma operação assíncrona. |
| GetSystemWebProxy() |
Devolve um proxy configurado com as definições de opções de Internet do utilizador atualmente imitado. |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| 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) |
| RegisterPortableWebRequestCreator(IWebRequestCreate) |
Obsoleto.
Registe um IWebRequestCreate objeto. |
| RegisterPrefix(String, IWebRequestCreate) |
Regista um WebRequest descendente para o URI especificado. |
| ToString() |
Devolve uma cadeia que representa o objeto atual. (Herdado de Object) |
Implementações de Interface Explícita
| Name | Description |
|---|---|
| ISerializable.GetObjectData(SerializationInfo, StreamingContext) |
Quando sobrescrito numa classe descendente, preenche SerializationInfo uma instância com os dados necessários para serializar o WebRequest. |