WebRequest Classe

Definizione

Esegue una richiesta a un URI (Uniform Resource Identifier).Makes a request to a Uniform Resource Identifier (URI). Si tratta di una classe abstract.This is an abstract class.

public ref class WebRequest abstract : MarshalByRefObject, System::Runtime::Serialization::ISerializable
public abstract class WebRequest : MarshalByRefObject, System.Runtime.Serialization.ISerializable
[System.Serializable]
public abstract class WebRequest : MarshalByRefObject, System.Runtime.Serialization.ISerializable
type WebRequest = class
    inherit MarshalByRefObject
    interface ISerializable
Public MustInherit Class WebRequest
Inherits MarshalByRefObject
Implements ISerializable
Ereditarietà
WebRequest
Ereditarietà
Derivato
Attributi
Implementazioni

Esempi

Nell'esempio seguente viene illustrato come creare un'istanza di WebRequest e restituire la risposta.The following example shows how to create a WebRequest instance and return the response.

#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 è consigliabile usare WebRequest o le classi derivate per la nuova attività di sviluppo.We don't recommend that you use WebRequest or its derived classes for new development. Usare invece la classe System.Net.Http.HttpClient.Instead, use the System.Net.Http.HttpClient class.

WebRequest è la classe di base abstract per. Modello di richiesta/risposta di NET per accedere ai dati da Internet.WebRequest is the abstract base class for .NET's request/response model for accessing data from the 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.An application that uses the request/response model can request data from the Internet in a protocol-agnostic manner, in which the application works with instances of the WebRequest class while protocol-specific descendant classes carry out the details of the request.

Le richieste vengono inviate da un'applicazione a un particolare URI, ad esempio una pagina Web in un server.Requests are sent from an application to a particular URI, such as a Web page on a server. L'URI determina la classe discendente corretta da creare da un elenco di discendenti WebRequest registrati per l'applicazione.The URI determines the proper descendant class to create from a list of WebRequest descendants registered for the application. WebRequest discendenti vengono 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 a un percorso specifico in un server.WebRequest descendants are typically registered to handle a specific protocol, such as HTTP or FTP, but can be registered to handle a request to a specific server or path on a server.

La classe WebRequest genera un'WebException quando si verificano errori durante l'accesso a una risorsa Internet.The WebRequest class throws a WebException when errors occur while accessing an Internet resource. La proprietà Status è uno dei valori WebExceptionStatus che indica l'origine dell'errore.The Status property is one of the WebExceptionStatus values that indicates the source of the error. Quando Status viene WebExceptionStatus.ProtocolError, la proprietà Response contiene le WebResponse ricevute dalla risorsa Internet.When Status is WebExceptionStatus.ProtocolError, the Response property contains the WebResponse received from the Internet resource.

Poiché la classe WebRequest è una classe abstract, il comportamento effettivo delle istanze di WebRequest in fase di esecuzione è determinato dalla classe discendente restituita dal metodo Create.Because the WebRequest class is an abstract class, the actual behavior of WebRequest instances at run time is determined by the descendant class returned by Create method. Per ulteriori informazioni sui valori predefiniti e sulle eccezioni, vedere la documentazione relativa alle classi discendenti, ad esempio HttpWebRequest e FileWebRequest.For more information about default values and exceptions, see the documentation for the descendant classes, such as HttpWebRequest and FileWebRequest.

Nota

Usare il metodo Create per inizializzare nuove istanze di WebRequest.Use the Create method to initialize new WebRequest instances. Non usare il costruttore WebRequest.Do not use the WebRequest constructor.

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 del computer locale, a meno che l'autorizzazione non sia stata esplicitamente assegnata all'utente a tale scopo.If the application that creates the WebRequest object runs with the credentials of a Normal user, the application will not be able to access certificates installed in the local machine store unless permission has been explicitly given to the user to do so.

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).When you inherit from WebRequest, you must override the following members: Method, RequestUri, Headers, ContentLength, ContentType, Credentials, PreAuthenticate, GetRequestStream(), BeginGetRequestStream(AsyncCallback, Object), EndGetRequestStream(IAsyncResult), GetResponse(), BeginGetResponse(AsyncCallback, Object), and EndGetResponse(IAsyncResult). Inoltre, è necessario fornire un'implementazione dell'interfaccia IWebRequestCreate, che definisce il metodo di Create(Uri) utilizzato quando si chiama Create(Uri).In addition, you must provide an implementation of the IWebRequestCreate interface, which defines the Create(Uri) method used when you call Create(Uri). È necessario registrare la classe che implementa l'interfaccia IWebRequestCreate, usando il metodo RegisterPrefix(String, IWebRequestCreate) o il file di configurazione.You must register the class that implements the IWebRequestCreate interface, using the RegisterPrefix(String, IWebRequestCreate) method or the configuration file.

Costruttori

WebRequest()

Inizializza una nuova istanza della classe WebRequest.Initializes a new instance of the WebRequest class.

WebRequest(SerializationInfo, StreamingContext)

Inizializza una nuova istanza della classe WebRequest dalle istanze specificate delle classi SerializationInfo e StreamingContext.Initializes a new instance of the WebRequest class from the specified instances of the SerializationInfo and StreamingContext classes.

Proprietà

AuthenticationLevel

Ottiene o imposta i valori che indicano il livello di autenticazione e di rappresentazione usati per la richiesta.Gets or sets values indicating the level of authentication and impersonation used for this request.

CachePolicy

Ottiene o imposta i criteri della cache per la richiesta.Gets or sets the cache policy for this request.

ConnectionGroupName

Quando ne viene eseguito l'override in una classe discendente, ottiene o imposta il nome del gruppo di connessione usato per la richiesta.When overridden in a descendant class, gets or sets the name of the connection group for the request.

ContentLength

Quando ne viene eseguito l'override in una classe discendente, ottiene o imposta la lunghezza dei dati inviati per la richiesta.When overridden in a descendant class, gets or sets the content length of the request data being sent.

ContentType

Quando ne viene eseguito l'override in una classe discendente, ottiene o imposta il tipo di contenuto dei dati inviati per la richiesta.When overridden in a descendant class, gets or sets the content type of the request data being sent.

CreatorInstance

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.When overridden in a descendant class, gets the factory object derived from the IWebRequestCreate class used to create the WebRequest instantiated for making the request to the specified URI.

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.When overridden in a descendant class, gets or sets the network credentials used for authenticating the request with the Internet resource.

DefaultCachePolicy

Ottiene o imposta i criteri predefiniti della cache per la richiesta.Gets or sets the default cache policy for this request.

DefaultWebProxy

Ottiene o imposta il proxy HTTP globale.Gets or sets the global HTTP proxy.

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.When overridden in a descendant class, gets or sets the collection of header name/value pairs associated with the request.

ImpersonationLevel

Ottiene o imposta il livello di rappresentazione per la richiesta corrente.Gets or sets the impersonation level for the current request.

Method

Quando ne viene eseguito l'override in una classe discendente, ottiene o imposta il metodo di protocollo da usare nella richiesta.When overridden in a descendant class, gets or sets the protocol method to use in this request.

PreAuthenticate

Quando ne viene eseguito l'override in una classe discendente, indica se è necessario preautenticare la richiesta.When overridden in a descendant class, indicates whether to pre-authenticate the request.

Proxy

Quando ne viene eseguito l'override in una classe discendente, ottiene o imposta il proxy di rete per accedere alla risorsa Internet.When overridden in a descendant class, gets or sets the network proxy to use to access this Internet resource.

RequestUri

Quando ne viene eseguito l'override in una classe discendente, ottiene l'URI della risorsa Internet associata alla richiesta.When overridden in a descendant class, gets the URI of the Internet resource associated with the request.

Timeout

Ottiene o imposta il periodo di tempo, in millisecondi, prima del timeout della richiesta.Gets or sets the length of time, in milliseconds, before the request times out.

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.When overridden in a descendant class, gets or sets a Boolean value that controls whether DefaultCredentials are sent with requests.

Metodi

Abort()

Interrompe la richiesta.Aborts the request.

BeginGetRequestStream(AsyncCallback, Object)

Quando ne viene eseguito l'override in una classe discendente, fornisce una versione asincrona del metodo GetRequestStream().When overridden in a descendant class, provides an asynchronous version of the GetRequestStream() method.

BeginGetResponse(AsyncCallback, Object)

Quando ne viene eseguito l'override in una classe discendente, avvia una richiesta asincrona per una risorsa Internet.When overridden in a descendant class, begins an asynchronous request for an Internet resource.

Create(String)

Inizializza una nuova istanza di WebRequest per lo schema URI specificato.Initializes a new WebRequest instance for the specified URI scheme.

Create(Uri)

Inizializza una nuova istanza di WebRequest per lo schema URI specificato.Initializes a new WebRequest instance for the specified URI scheme.

CreateDefault(Uri)

Inizializza una nuova istanza di WebRequest per lo schema URI specificato.Initializes a new WebRequest instance for the specified URI scheme.

CreateHttp(String)

Inizializza una nuova istanza di HttpWebRequest per la stinga URI specificata.Initializes a new HttpWebRequest instance for the specified URI string.

CreateHttp(Uri)

Inizializza una nuova istanza di HttpWebRequest per l'URI specificato.Initializes a new HttpWebRequest instance for the specified URI.

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.Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(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.When overridden in a descendant class, returns a Stream for writing data to the Internet resource.

EndGetResponse(IAsyncResult)

Quando ne viene eseguito l'override in una classe discendente, restituisce un oggetto WebResponse.When overridden in a descendant class, returns a WebResponse.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.Determines whether the specified object is equal to the current object.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.Serves as the default hash function.

(Ereditato da Object)
GetLifetimeService()

Consente di recuperare l'oggetto servizio di durata corrente per controllare i criteri di durata per l'istanza.Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(Ereditato da MarshalByRefObject)
GetObjectData(SerializationInfo, StreamingContext)

Popola un oggetto SerializationInfo con i dati necessari per la serializzare l'oggetto di destinazione.Populates a SerializationInfo with the data needed to serialize the target object.

GetRequestStream()

Quando ne viene eseguito l'override in una classe discendente, restituisce un oggetto Stream per la scrittura di dati nella risorsa Internet.When overridden in a descendant class, returns a Stream for writing data to the Internet resource.

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.When overridden in a descendant class, returns a Stream for writing data to the Internet resource as an asynchronous operation.

GetResponse()

Quando ne viene eseguito l'override in una classe discendente, restituisce una risposta a una richiesta Internet.When overridden in a descendant class, returns a response to an Internet request.

GetResponseAsync()

Quando ne viene eseguito l'override in una classe discendente, restituisce una risposta a una richiesta Internet come operazione asincrona.When overridden in a descendant class, returns a response to an Internet request as an asynchronous operation.

GetSystemWebProxy()

Restituisce un proxy configurato con le impostazioni di Internet Explorer dell'utente rappresentato.Returns a proxy configured with the Internet Explorer settings of the currently impersonated user.

GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

(Ereditato da Object)
InitializeLifetimeService()

Ottiene un oggetto servizio di durata per controllare i criteri di durata per questa istanza.Obtains a lifetime service object to control the lifetime policy for this instance.

(Ereditato da MarshalByRefObject)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Ereditato da Object)
MemberwiseClone(Boolean)

Crea una copia dei riferimenti dell'oggetto MarshalByRefObject corrente.Creates a shallow copy of the current MarshalByRefObject object.

(Ereditato da MarshalByRefObject)
RegisterPortableWebRequestCreator(IWebRequestCreate)

Registra un oggetto IWebRequestCreate.Register an IWebRequestCreate object.

RegisterPrefix(String, IWebRequestCreate)

Registra un oggetto WebRequest discendente per l'URI specificato.Registers a WebRequest descendant for the specified URI.

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.Returns a string that represents the current object.

(Ereditato da Object)

Implementazioni dell'interfaccia esplicita

ISerializable.GetObjectData(SerializationInfo, StreamingContext)

Quando ne viene eseguito l'override in una classe discendente, popola un'istanza di SerializationInfo con i dati necessari per serializzare WebRequest.When overridden in a descendant class, populates a SerializationInfo instance with the data needed to serialize the WebRequest.

Si applica a

Vedi anche