WebRequest Classe

Definizione

Esegue una richiesta a un URI (Uniform Resource Identifier). Si tratta di una 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
Ereditarietà
WebRequest
Ereditarietà
Derivato
Attributi
Implementazioni

Esempio

Nell'esempio seguente viene illustrato come creare un'istanza WebRequest e restituire la risposta.

#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

Commenti

Importante

Non usare o le WebRequest relative classi derivate per il nuovo sviluppo. Usare invece la System.Net.Http.HttpClient classe .

WebRequest è la abstract classe di base per . Modello di richiesta/risposta di NET per l'accesso ai dati da Internet. Un'applicazione che usa il modello di richiesta/risposta può richiedere dati da Internet in modo agnostico del protocollo, in cui l'applicazione funziona con istanze della WebRequest classe mentre le classi discendenti specifiche del protocollo eseguono i dettagli della richiesta.

Le richieste vengono inviate da un'applicazione a un particolare URI, ad esempio una pagina Web in un server. L'URI determina la classe discendente appropriata da creare da un elenco di WebRequest discendenti registrati per l'applicazione. WebRequest i discendenti sono in genere registrati per gestire un protocollo specifico, ad esempio HTTP o FTP, ma possono essere registrati per gestire una richiesta a un server o un percorso specifico in un server.

La WebRequest classe genera un errore WebException quando si verificano errori durante l'accesso a una risorsa Internet. La Status proprietà è uno dei WebExceptionStatus valori che indica l'origine dell'errore. Quando Status è WebExceptionStatus.ProtocolError, la Response proprietà contiene l'oggetto WebResponse ricevuto dalla risorsa Internet.

Poiché la classe è una abstract classe, il WebRequest comportamento effettivo delle istanze in fase di WebRequest esecuzione viene determinato dalla classe discendente restituita dal Create metodo . Per altre informazioni sui valori e le eccezioni predefiniti, vedere la documentazione per le classi discendenti, ad esempio HttpWebRequest e FileWebRequest.

Nota

Usare il Create metodo per inizializzare nuove WebRequest istanze. Non usare il WebRequest costruttore.

Nota

Se l'applicazione che crea l'oggetto WebRequest viene eseguita con le credenziali di un utente normale, l'applicazione non sarà in grado di accedere ai certificati installati nell'archivio computer locale, a meno che l'autorizzazione non sia stata assegnata esplicitamente all'utente.

Note per gli implementatori

Quando si eredita da WebRequest, è necessario eseguire l'override dei membri seguenti: Method, CredentialsHeadersContentTypePreAuthenticateGetRequestStream()ContentLengthRequestUriEndGetRequestStream(IAsyncResult)GetResponse()BeginGetRequestStream(AsyncCallback, Object)BeginGetResponse(AsyncCallback, Object)e .EndGetResponse(IAsyncResult) È inoltre necessario fornire un'implementazione dell'interfaccia IWebRequestCreate , che definisce il Create(Uri) metodo usato quando si chiama Create(Uri). È necessario registrare la classe che implementa l'interfaccia IWebRequestCreate usando il metodo o il RegisterPrefix(String, IWebRequestCreate) file di configurazione.

Costruttori

WebRequest()
Obsoleta.

Inizializza una nuova istanza della classe WebRequest.

WebRequest(SerializationInfo, StreamingContext)
Obsoleta.

Inizializza una nuova istanza della classe WebRequest dalle istanze specificate delle classi SerializationInfo e StreamingContext.

Proprietà

AuthenticationLevel

Ottiene o imposta i valori che indicano il livello di autenticazione e di rappresentazione usati per la richiesta.

CachePolicy

Ottiene o imposta i criteri della cache per la richiesta.

ConnectionGroupName

Quando ne viene eseguito l'override in una classe discendente, ottiene o imposta il nome del gruppo di connessione usato per la richiesta.

ContentLength

Quando ne viene eseguito l'override in una classe discendente, ottiene o imposta la lunghezza dei dati inviati per la richiesta.

ContentType

Quando ne viene eseguito l'override in una classe discendente, ottiene o imposta il tipo di contenuto dei dati inviati per la richiesta.

CreatorInstance
Obsoleta.

Quando ne viene eseguito l'override in una classe discendente, ottiene l'oggetto factory derivato dalla classe IWebRequestCreate usato per creare l'oggetto WebRequest di cui è stata creata un'istanza per effettuare la richiesta all'URI specificato.

Credentials

Quando ne viene eseguito l'override in una classe discendente, ottiene o imposta le credenziali di rete usate per l'autenticazione della richiesta con la risorsa Internet.

DefaultCachePolicy

Ottiene o imposta i criteri predefiniti della cache per la richiesta.

DefaultWebProxy

Ottiene o imposta il proxy HTTP globale.

Headers

Quando ne viene eseguito l'override in una classe discendente, ottiene o imposta la raccolta di coppie nome/valore di intestazione associate alla richiesta.

ImpersonationLevel

Ottiene o imposta il livello di rappresentazione per la richiesta corrente.

Method

Quando ne viene eseguito l'override in una classe discendente, ottiene o imposta il metodo di protocollo da usare nella richiesta.

PreAuthenticate

Quando ne viene eseguito l'override in una classe discendente, indica se è necessario preautenticare la richiesta.

Proxy

Quando ne viene eseguito l'override in una classe discendente, ottiene o imposta il proxy di rete per accedere alla risorsa Internet.

RequestUri

Quando ne viene eseguito l'override in una classe discendente, ottiene l'URI della risorsa Internet associata alla richiesta.

Timeout

Ottiene o imposta il periodo di tempo, in millisecondi, prima del timeout della richiesta.

UseDefaultCredentials

Quando ne viene eseguito l'override in una classe discendente, ottiene o imposta un valore Boolean che controlla se vengono inviate proprietà DefaultCredentials con le richieste.

Metodi

Abort()

Interrompe la richiesta.

BeginGetRequestStream(AsyncCallback, Object)

Quando ne viene eseguito l'override in una classe discendente, fornisce una versione asincrona del metodo GetRequestStream().

BeginGetResponse(AsyncCallback, Object)

Quando ne viene eseguito l'override in una classe discendente, avvia una richiesta asincrona per una risorsa Internet.

Create(String)
Obsoleta.

Inizializza una nuova istanza di WebRequest per lo schema URI specificato.

Create(Uri)
Obsoleta.

Inizializza una nuova istanza di WebRequest per lo schema URI specificato.

CreateDefault(Uri)
Obsoleta.

Inizializza una nuova istanza di WebRequest per lo schema URI specificato.

CreateHttp(String)
Obsoleta.

Inizializza una nuova istanza di HttpWebRequest per la stinga URI specificata.

CreateHttp(Uri)
Obsoleta.

Inizializza una nuova istanza di HttpWebRequest per l'URI specificato.

CreateObjRef(Type)

Consente di creare un oggetto che contiene tutte le informazioni rilevanti necessarie per la generazione del proxy utilizzato per effettuare la comunicazione con un oggetto remoto.

(Ereditato da MarshalByRefObject)
EndGetRequestStream(IAsyncResult)

Quando ne viene eseguito l'override in una classe discendente, restituisce un oggetto Stream per la scrittura di dati nella risorsa Internet.

EndGetResponse(IAsyncResult)

Quando ne viene eseguito l'override in una classe discendente, restituisce un oggetto WebResponse.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetLifetimeService()
Obsoleta.

Consente di recuperare l'oggetto servizio di durata corrente per controllare i criteri di durata per l'istanza.

(Ereditato da MarshalByRefObject)
GetObjectData(SerializationInfo, StreamingContext)
Obsoleta.

Popola un oggetto SerializationInfo con i dati necessari per serializzare l'oggetto di destinazione.

GetRequestStream()

Quando ne viene eseguito l'override in una classe discendente, restituisce un oggetto Stream per la scrittura di dati nella risorsa Internet.

GetRequestStreamAsync()

Quando ne viene eseguito l'override in una classe discendente, restituisce un oggetto Stream per la scrittura dei dati nella risorse Internet come operazione asincrona.

GetResponse()

Quando ne viene eseguito l'override in una classe discendente, restituisce una risposta a una richiesta Internet.

GetResponseAsync()

Quando ne viene eseguito l'override in una classe discendente, restituisce una risposta a una richiesta Internet come operazione asincrona.

GetSystemWebProxy()

Restituisce un proxy configurato con le impostazioni di Internet Explorer dell'utente rappresentato.

GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
InitializeLifetimeService()
Obsoleta.

Ottiene un oggetto servizio di durata per controllare i criteri di durata per questa istanza.

(Ereditato da MarshalByRefObject)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
MemberwiseClone(Boolean)

Crea una copia dei riferimenti dell'oggetto MarshalByRefObject corrente.

(Ereditato da MarshalByRefObject)
RegisterPortableWebRequestCreator(IWebRequestCreate)
Obsoleta.

Registra un oggetto IWebRequestCreate.

RegisterPrefix(String, IWebRequestCreate)

Registra un oggetto WebRequest discendente per l'URI specificato.

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Implementazioni dell'interfaccia esplicita

ISerializable.GetObjectData(SerializationInfo, StreamingContext)
Obsoleta.

Quando ne viene eseguito l'override in una classe discendente, popola un'istanza di SerializationInfo con i dati necessari per serializzare WebRequest.

Si applica a

Vedi anche