WebRequest Classe

Definizione

Viene effettuata 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
[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à
Derivato
Attributi
Implementazioni

Esempi

Nell'esempio seguente viene illustrato come creare un' WebRequest istanza di 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 il nuovo sviluppo.We don't recommend that you use WebRequest or its derived classes for new development. Usare invece la System.Net.Http.HttpClient classe.Instead, use the System.Net.Http.HttpClient class.

WebRequestè la abstract classe di base 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 WebRequest classe mentre le classi discendenti specifiche del protocollo eseguono i dettagli di 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 WebRequest di discendenti registrati per l'applicazione.The URI determines the proper descendant class to create from a list of WebRequest descendants registered for the application. WebRequesti 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 WebRequest classe genera un' WebException eccezione 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 Status proprietà è uno WebExceptionStatus dei valori di che indica l'origine dell'errore.The Status property is one of the WebExceptionStatus values that indicates the source of the error. Quando Status è WebExceptionStatus.ProtocolError, WebResponse la Response proprietà contiene l'oggetto ricevuto dalla risorsa Internet.When Status is WebExceptionStatus.ProtocolError, the Response property contains the WebResponse received from the Internet resource.

Poiché la WebRequest classe è una abstract classe, il comportamento effettivo delle WebRequest istanze in fase di esecuzione è determinato dalla classe discendente restituita dal Create metodo.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, HttpWebRequest ad FileWebRequestesempio e.For more information about default values and exceptions, see the documentation for the descendant classes, such as HttpWebRequest and FileWebRequest.

Nota

Utilizzare il Create metodo per inizializzare WebRequest nuove istanze di.Use the Create method to initialize new WebRequest instances. Non utilizzare il WebRequest costruttore.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 eredi

Quando si eredita da WebRequest, è necessario eseguire l'override dei membri Methodseguenti RequestUri: Headers, ContentLength, ContentType, Credentials, PreAuthenticate, GetRequestStream(), BeginGetRequestStream(AsyncCallback, Object), EndGetRequestStream(IAsyncResult) ,, , GetResponse(),e .EndGetResponse(IAsyncResult) BeginGetResponse(AsyncCallback, Object)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' IWebRequestCreate interfaccia, che definisce il Create(Uri) metodo 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' IWebRequestCreate interfaccia utilizzando il RegisterPrefix(String, IWebRequestCreate) metodo 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 sottoposto a override in una classe discendente, ottiene o imposta il nome del gruppo di connessione utilizzato per la richiesta.When overridden in a descendant class, gets or sets the name of the connection group for the request.

ContentLength

Quando sottoposto a override in una classe discendente, recupera 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 viene sottoposto a 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 viene sottoposto a override in una classe discendente, ottiene o imposta le credenziali di rete utilizzate 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 di cache predefiniti per questa 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 viene sottoposto a 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 viene sottoposto a override in una classe discendente, ottiene o imposta il metodo di protocollo da utilizzare nella richiesta.When overridden in a descendant class, gets or sets the protocol method to use in this request.

PreAuthenticate

Quando viene sottoposto a 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 viene sottoposto a 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 viene sottoposto a 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, fino al timeout della richiesta.Gets or sets the length of time, in milliseconds, before the request times out.

UseDefaultCredentials

Quando viene sottoposto a override in una classe discendente, ottiene o imposta un valore Boolean che controlla se DefaultCredentials vengono inviate 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 viene sottoposto a 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 viene sottoposto a 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 della classe 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 viene sottoposto a override in una classe discendente, restituisce un Stream per l'inserimento di dati nella risorsa Internet.When overridden in a descendant class, returns a Stream for writing data to the Internet resource.

EndGetResponse(IAsyncResult)

Quando viene sottoposto a override in una classe discendente, restituisce una 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 serializzare l'oggetto di destinazione.Populates a SerializationInfo with the data needed to serialize the target object.

GetRequestStream()

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

GetRequestStreamAsync()

Quando viene sottoposto a override in una classe discendente, restituisce un 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 sottoposto a 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 sottoposto a 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 correntemente.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 discendente WebRequest 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 viene sottoposto a override in una classe discendente, compila un'istanza di SerializationInfo con i dati necessari a serializzare WebRequest.When overridden in a descendant class, populates a SerializationInfo instance with the data needed to serialize the WebRequest.

Sicurezza

WebPermission
Per accedere all'URI richiesto o a qualsiasi URI a cui viene reindirizzata la richiesta.To access the requested URI or any URI that the request is redirected to. Enumerazione associata: Connect.Associated enumeration: Connect.

Si applica a

Vedi anche