WebRequest Classe

Definizione

Effettua una richiesta a un URI (Uniform Resource Identifier). Si tratta di una classe abstract.

public abstract class WebRequest
public abstract class WebRequest : MarshalByRefObject, System.Runtime.Serialization.ISerializable
[System.Serializable]
public abstract class WebRequest : MarshalByRefObject, System.Runtime.Serialization.ISerializable
Ereditarietà
WebRequest
Ereditarietà
Derivato
Attributi
Implementazioni

Esempio

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

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 ();
        }
    }
}

Commenti

Attenzione

WebRequest, HttpWebRequest, ServicePointe WebClient sono obsoleti e non è consigliabile usarli per nuovi sviluppi. Usare invece HttpClient.

WebRequest è la classe base abstract 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 indipendente dal protocollo, in cui l'applicazione funziona con istanze della classe WebRequest mentre le classi discendenti specifiche del protocollo eseguono i dettagli della richiesta.

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

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

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

Nota

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

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 concessa esplicitamente all'utente.

Note per gli implementatori

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

Costruttori

WebRequest()
Obsoleti.

Inizializza una nuova istanza della classe WebRequest.

WebRequest(SerializationInfo, StreamingContext)
Obsoleti.

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

Proprietà

AuthenticationLevel

Ottiene o imposta valori che indicano il livello di autenticazione e rappresentazione utilizzati per questa richiesta.

CachePolicy

Ottiene o imposta i criteri di cache per questa richiesta.

ConnectionGroupName

In caso di override in una classe discendente, ottiene o imposta il nome del gruppo di connessione per la richiesta.

ContentLength

Quando sottoposto a override in una classe discendente, ottiene o imposta la lunghezza del contenuto dei dati della richiesta inviati.

ContentType

Quando sottoposto a override in una classe discendente, ottiene o imposta il tipo di contenuto dei dati della richiesta inviati.

CreatorInstance
Obsoleti.

In caso di override in una classe discendente, ottiene l'oggetto factory derivato dalla classe IWebRequestCreate utilizzata per creare l'WebRequest creata un'istanza per effettuare la richiesta all'URI specificato.

Credentials

Quando sottoposto a override in una classe discendente, ottiene o imposta le credenziali di rete usate per autenticare la richiesta con la risorsa Internet.

DefaultCachePolicy

Ottiene o imposta i criteri di cache predefiniti per questa richiesta.

DefaultWebProxy

Ottiene o imposta il proxy HTTP globale.

Headers

In caso di 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

In caso di override in una classe discendente, ottiene o imposta il metodo del protocollo da utilizzare in questa richiesta.

PreAuthenticate

In caso di override in una classe discendente, indica se pre-autenticare la richiesta.

Proxy

Quando sottoposto a override in una classe discendente, ottiene o imposta il proxy di rete da usare per accedere a questa risorsa Internet.

RequestUri

Quando sottoposto a override in una classe discendente, ottiene l'URI della risorsa Internet associata alla richiesta.

Timeout

Ottiene o imposta l'intervallo di tempo, espresso in millisecondi, prima del timeout della richiesta.

UseDefaultCredentials

In caso di override in una classe discendente, ottiene o imposta un valore Boolean che controlla se DefaultCredentials vengono inviati con le richieste.

Metodi

Abort()

Interrompe la richiesta.

BeginGetRequestStream(AsyncCallback, Object)

Quando sottoposto a override in una classe discendente, fornisce una versione asincrona del metodo GetRequestStream().

BeginGetResponse(AsyncCallback, Object)

Quando sottoposto a override in una classe discendente, avvia una richiesta asincrona per una risorsa Internet.

Create(String)
Obsoleti.

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

Create(Uri)
Obsoleti.

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

CreateDefault(Uri)
Obsoleti.

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

CreateHttp(String)
Obsoleti.

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

CreateHttp(Uri)
Obsoleti.

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

CreateObjRef(Type)

Crea un oggetto che contiene tutte le informazioni pertinenti necessarie per generare un proxy utilizzato per comunicare con un oggetto remoto.

(Ereditato da MarshalByRefObject)
EndGetRequestStream(IAsyncResult)

Quando sottoposto a override in una classe discendente, restituisce un Stream per la scrittura di dati nella risorsa Internet.

EndGetResponse(IAsyncResult)

Quando sottoposto a override in una classe discendente, restituisce un 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()
Obsoleti.

Recupera l'oggetto servizio di durata corrente che controlla i criteri di durata per questa istanza.

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

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

GetRequestStream()

Quando sottoposto a override in una classe discendente, restituisce un Stream per la scrittura di dati nella risorsa Internet.

GetRequestStreamAsync()

Quando sottoposto a override in una classe discendente, restituisce un Stream per la scrittura di dati nella risorsa Internet come operazione asincrona.

GetResponse()

Quando sottoposto a override in una classe discendente, restituisce una risposta a una richiesta Internet.

GetResponseAsync()

Quando sottoposto a override in una classe discendente, restituisce una risposta a una richiesta Internet come operazione asincrona.

GetSystemWebProxy()

Restituisce un proxy configurato con le impostazioni delle opzioni Internet dell'utente attualmente rappresentato.

GetType()

Ottiene il Type dell'istanza corrente.

(Ereditato da Object)
InitializeLifetimeService()
Obsoleti.

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

(Ereditato da MarshalByRefObject)
MemberwiseClone()

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
MemberwiseClone(Boolean)

Crea una copia superficiale dell'oggetto MarshalByRefObject corrente.

(Ereditato da MarshalByRefObject)
RegisterPortableWebRequestCreator(IWebRequestCreate)
Obsoleti.

Registrare un oggetto IWebRequestCreate.

RegisterPrefix(String, IWebRequestCreate)

Registra un 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)
Obsoleti.

Quando sottoposto a override in una classe discendente, popola un'istanza di SerializationInfo con i dati necessari per serializzare il WebRequest.

Si applica a

Vedi anche