WebRequest Klasse

Definition

Sendet eine Anforderung an einen Uniform Resource Identifier (URI).Makes a request to a Uniform Resource Identifier (URI). Dies ist eine abstract-Klasse.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
Vererbung
Abgeleitet
Attribute
Implementiert

Beispiele

Im folgenden Beispiel wird gezeigt, wie eine WebRequest -Instanz erstellt und die Antwort zurückgegeben wird.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

Hinweise

Wichtig

Es wird nicht empfohlen, für WebRequest die neue Entwicklung oder die von abgeleiteten Klassen zu verwenden.We don't recommend that you use WebRequest or its derived classes for new development. Verwenden Sie stattdessen die System.Net.Http.HttpClient -Klasse.Instead, use the System.Net.Http.HttpClient class.

WebRequestist die abstract Basisklasse für. Das Anforderungs-/Antwortmodell von NET für den Zugriff auf Daten aus dem Internet.WebRequest is the abstract base class for .NET's request/response model for accessing data from the Internet. Eine Anwendung, die das Anforderungs-/Antwortmodell verwendet, kann Daten aus dem Internet in einer Protokoll agnostischen Weise anfordern, in der die Anwendung mit Instanzen WebRequest der-Klasse arbeitet, während Protokoll spezifische Nachfolger Klassen die Details von die Anforderung.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.

Anforderungen werden von einer Anwendung an einen bestimmten URI gesendet, z. b. eine Webseite auf einem Server.Requests are sent from an application to a particular URI, such as a Web page on a server. Der URI bestimmt die ordnungsgemäße Nachfolger Klasse, die aus einer Liste WebRequest von Nachfolgern erstellt werden soll, die für die Anwendung registriert sind.The URI determines the proper descendant class to create from a list of WebRequest descendants registered for the application. WebRequestNachfolger werden in der Regel für die Verarbeitung eines bestimmten Protokolls registriert, z. b. http oder FTP, können jedoch registriert werden, um eine Anforderung an einen bestimmten Server oder Pfad auf einem Server zu verarbeiten.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.

Die WebRequest -Klasse löst WebException eine aus, wenn beim Zugriff auf eine Internet Ressource Fehler auftreten.The WebRequest class throws a WebException when errors occur while accessing an Internet resource. Die Status -Eigenschaft ist einer WebExceptionStatus der-Werte, der die Fehlerquelle angibt.The Status property is one of the WebExceptionStatus values that indicates the source of the error. Wenn Status Response WebResponse ist WebExceptionStatus.ProtocolError, enthält die-Eigenschaft die, die von der Internet Ressource empfangen wurde.When Status is WebExceptionStatus.ProtocolError, the Response property contains the WebResponse received from the Internet resource.

Da die WebRequest -Klasse eine abstract -Klasse ist, wird das WebRequest tatsächliche Verhalten von-Instanzen zur Laufzeit durch die Nachfolger Klasse bestimmt Create , die von der-Methode zurückgegeben wird.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. Weitere Informationen zu Standardwerten und Ausnahmen finden Sie in HttpWebRequest der Dokumentation zu den Nachfolger Klassen, z. b. und. FileWebRequestFor more information about default values and exceptions, see the documentation for the descendant classes, such as HttpWebRequest and FileWebRequest.

Hinweis

Verwenden Sie Create die-Methode, um WebRequest neue Instanzen zu initialisieren.Use the Create method to initialize new WebRequest instances. Verwenden Sie nicht die WebRequest Konstruktor.Do not use the WebRequest constructor.

Hinweis

Wenn die Anwendung, die das Objekt "WebRequest" erstellt, mit den Anmelde Informationen eines normalen Benutzers ausgeführt wird, kann die Anwendung nicht auf Zertifikate zugreifen, die im lokalen Speicher des Computers installiert sind, es sei denn, die Berechtigung wurde explizit dem Benutzer erteilt.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.

Hinweise für Vererber

WebRequestWenn Sie von erben, müssen Sie die folgenden Member überschreiben Method: RequestUri, Headers, ContentLength, ContentType, Credentials, PreAuthenticate, GetRequestStream(), BeginGetRequestStream(AsyncCallback, Object), EndGetRequestStream(IAsyncResult) , , GetResponse(), BeginGetResponse(AsyncCallback, Object)und .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). Außerdem müssen Sie eine Implementierung der IWebRequestCreate -Schnittstelle bereitstellen, die die Create(Uri) beim-aufzurufen Create(Uri)verwendete Methode definiert.In addition, you must provide an implementation of the IWebRequestCreate interface, which defines the Create(Uri) method used when you call Create(Uri). Sie müssen die Klasse, die die IWebRequestCreate -Schnittstelle implementiert, mithilfe der RegisterPrefix(String, IWebRequestCreate) -Methode oder der Konfigurationsdatei registrieren.You must register the class that implements the IWebRequestCreate interface, using the RegisterPrefix(String, IWebRequestCreate) method or the configuration file.

Konstruktoren

WebRequest()

Initialisiert eine neue Instanz der WebRequest-Klasse.Initializes a new instance of the WebRequest class.

WebRequest(SerializationInfo, StreamingContext)

Initialisiert eine neue Instanz der WebRequest-Klasse aus den angegebenen Instanzen der SerializationInfo-Klasse und der StreamingContext-Klasse.Initializes a new instance of the WebRequest class from the specified instances of the SerializationInfo and StreamingContext classes.

Eigenschaften

AuthenticationLevel

Ruft Werte ab, die die für diese Anforderung verwendete Ebene von Authentifizierung und Identitätswechsel angeben, oder legt diese fest.Gets or sets values indicating the level of authentication and impersonation used for this request.

CachePolicy

Ruft die Cacherichtlinie für diese Anforderung ab oder legt diese fest.Gets or sets the cache policy for this request.

ConnectionGroupName

Ruft beim Überschreiben in einer Nachfolgerklasse den Namen der Verbindungsgruppe für die Anforderung ab oder legt diesen fest.When overridden in a descendant class, gets or sets the name of the connection group for the request.

ContentLength

Ruft beim Überschreiben in einer Nachfolgerklasse die Inhaltslänge der zu sendenden Anforderungsdaten ab oder legt diese fest.When overridden in a descendant class, gets or sets the content length of the request data being sent.

ContentType

Ruft beim Überschreiben in einer Nachfolgerklasse den Inhaltstyp der zu sendenden Anforderungsdaten ab oder legt diese fest.When overridden in a descendant class, gets or sets the content type of the request data being sent.

CreatorInstance

Ruft beim Überschreiben in einer Nachfolgerklasse das von der IWebRequestCreate-Klasse abgeleitete Factoryobjekt ab. Mit dieser Klasse wird die WebRequest erstellt, die instanziiert wird, um die Anforderung an den angegebenen URI zu stellen.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

Ruft beim Überschreiben in einer Nachfolgerklasse die Netzwerkanmeldeinformationen, die für die Authentifizierung der Anforderung der Internetressource verwendet werden, ab oder legt diese fest.When overridden in a descendant class, gets or sets the network credentials used for authenticating the request with the Internet resource.

DefaultCachePolicy

Ruft die Standardcacherichtlinie für diese Anforderung ab oder legt diese fest.Gets or sets the default cache policy for this request.

DefaultWebProxy

Ruft den globalen HTTP-Proxy ab oder legt diesen fest.Gets or sets the global HTTP proxy.

Headers

Ruft beim Überschreiben in einer Nachfolgerklasse eine Auflistung von Name-Wert-Paaren für Header ab, die mit der Anforderung verknüpft sind, oder legt diese fest.When overridden in a descendant class, gets or sets the collection of header name/value pairs associated with the request.

ImpersonationLevel

Ruft die Ebene des Identitätswechsels für die aktuelle Anforderung ab oder legt diese fest.Gets or sets the impersonation level for the current request.

Method

Ruft beim Überschreiben in einer Nachfolgerklasse die in dieser Anforderung zu verwendende Protokollmethode ab oder legt diese fest.When overridden in a descendant class, gets or sets the protocol method to use in this request.

PreAuthenticate

Gibt beim Überschreiben in einer Nachfolgerklasse an, ob die Anforderung zuvor authentifiziert werden muss.When overridden in a descendant class, indicates whether to pre-authenticate the request.

Proxy

Ruft beim Überschreiben in einer Nachfolgerklasse den beim Zugriff auf diese Internetressource verwendeten Netzwerkproxy ab oder legt diesen fest.When overridden in a descendant class, gets or sets the network proxy to use to access this Internet resource.

RequestUri

Ruft beim Überschreiben in einer Nachfolgerklasse den mit der Anforderung verknüpften URI der Internetressource ab.When overridden in a descendant class, gets the URI of the Internet resource associated with the request.

Timeout

Ruft die Zeitspanne in Millisekunden bis zum Überschreiten des Zeitlimits der Anforderung ab.Gets or sets the length of time, in milliseconds, before the request times out.

UseDefaultCredentials

Ruft beim Überschreiben in einer Nachfolgerklasse einen Boolean-Wert ab oder legt diesen fest, der steuert, ob mit Anforderungen DefaultCredentials gesendet werden.When overridden in a descendant class, gets or sets a Boolean value that controls whether DefaultCredentials are sent with requests.

Methoden

Abort()

Bricht die Anforderung ab.Aborts the request.

BeginGetRequestStream(AsyncCallback, Object)

Stellt beim Überschreiben in einer Nachfolgerklasse eine asynchrone Version der GetRequestStream()-Methode bereit.When overridden in a descendant class, provides an asynchronous version of the GetRequestStream() method.

BeginGetResponse(AsyncCallback, Object)

Startet beim Überschreiben in einer Nachfolgerklasse eine asynchrone Anforderung einer Internetressource.When overridden in a descendant class, begins an asynchronous request for an Internet resource.

Create(String)

Initialisiert eine neue WebRequest-Instanz für das angegebene URI-Schema.Initializes a new WebRequest instance for the specified URI scheme.

Create(Uri)

Initialisiert eine neue WebRequest-Instanz für das angegebene URI-Schema.Initializes a new WebRequest instance for the specified URI scheme.

CreateDefault(Uri)

Initialisiert eine neue WebRequest-Instanz für das angegebene URI-Schema.Initializes a new WebRequest instance for the specified URI scheme.

CreateHttp(String)

Initialisiert eine neue HttpWebRequest-Instanz für die angegebene URI-Zeichenfolge.Initializes a new HttpWebRequest instance for the specified URI string.

CreateHttp(Uri)

Initialisiert eine neue HttpWebRequest-Instanz für den angegebenen URI.Initializes a new HttpWebRequest instance for the specified URI.

CreateObjRef(Type)

Erstellt ein Objekt mit allen relevanten Informationen, die zum Generieren eines Proxys für die Kommunikation mit einem Remoteobjekt erforderlich sind.Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(Geerbt von MarshalByRefObject)
EndGetRequestStream(IAsyncResult)

Gibt beim Überschreiben in einer Nachfolgerklasse einen Stream zum Schreiben von Daten in die Internetressource zurück.When overridden in a descendant class, returns a Stream for writing data to the Internet resource.

EndGetResponse(IAsyncResult)

Gibt beim Überschreiben in einer Nachfolgerklasse eine WebResponse zurück.When overridden in a descendant class, returns a WebResponse.

Equals(Object)

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.Determines whether the specified object is equal to the current object.

(Geerbt von Object)
GetHashCode()

Fungiert als Standardhashfunktion.Serves as the default hash function.

(Geerbt von Object)
GetLifetimeService()

Ruft das aktuelle Lebensdauerdienstobjekt ab, das die Lebensdauerrichtlinien für diese Instanz steuert.Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(Geerbt von MarshalByRefObject)
GetObjectData(SerializationInfo, StreamingContext)

Füllt eine SerializationInfo mit den Daten auf, die zum Serialisieren des Zielobjekts erforderlich sind.Populates a SerializationInfo with the data needed to serialize the target object.

GetRequestStream()

Gibt beim Überschreiben in einer Nachfolgerklasse einen Stream zum Schreiben von Daten in die Internetressource zurück.When overridden in a descendant class, returns a Stream for writing data to the Internet resource.

GetRequestStreamAsync()

Gibt nach dem Überschreiben in einer abgeleiteten Klasse einen Stream zurück, womit Daten in einem asynchronen Vorgang in die Internetressource geschrieben werden können.When overridden in a descendant class, returns a Stream for writing data to the Internet resource as an asynchronous operation.

GetResponse()

Gibt beim Überschreiben in einer Nachfolgerklasse eine Antwort auf eine Internetanforderung zurück.When overridden in a descendant class, returns a response to an Internet request.

GetResponseAsync()

Gibt beim Überschreiben in einer Nachfolgerklasse in einem asynchronen Vorgang eine Antwort auf eine Internetanforderung zurück.When overridden in a descendant class, returns a response to an Internet request as an asynchronous operation.

GetSystemWebProxy()

Gibt einen Proxy zurück, der mit den Internet Explorer-Einstellungen des Benutzers konfiguriert ist, dessen Identität gerade verwendet wird.Returns a proxy configured with the Internet Explorer settings of the currently impersonated user.

GetType()

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

(Geerbt von Object)
InitializeLifetimeService()

Ruft ein Lebensdauerdienstobjekt zur Steuerung der Lebensdauerrichtlinie für diese Instanz ab.Obtains a lifetime service object to control the lifetime policy for this instance.

(Geerbt von MarshalByRefObject)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Geerbt von Object)
MemberwiseClone(Boolean)

Erstellt eine flache Kopie des aktuellen MarshalByRefObject-Objekts.Creates a shallow copy of the current MarshalByRefObject object.

(Geerbt von MarshalByRefObject)
RegisterPortableWebRequestCreator(IWebRequestCreate)

Ein IWebRequestCreate-Objekt registrieren.Register an IWebRequestCreate object.

RegisterPrefix(String, IWebRequestCreate)

Registriert einen WebRequest-Nachfolger für den angegebenen URI.Registers a WebRequest descendant for the specified URI.

ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.Returns a string that represents the current object.

(Geerbt von Object)

Explizite Schnittstellenimplementierungen

ISerializable.GetObjectData(SerializationInfo, StreamingContext)

Füllt beim Überschreiben in einer Nachfolgerklasse eine SerializationInfo-Instanz mit den Daten auf, die zum Serialisieren der WebRequest erforderlich sind.When overridden in a descendant class, populates a SerializationInfo instance with the data needed to serialize the WebRequest.

Sicherheit

WebPermission
für den Zugriff auf den angeforderten URI oder einen URI, an den die Anforderung umgeleitet wird.To access the requested URI or any URI that the request is redirected to. Zugeordnete Enumeration: ConnectAssociated enumeration: Connect.

Gilt für:

Siehe auch