Diese Dokumentation wurde archiviert und wird nicht länger gepflegt.

WebRequest-Klasse

Fordert einen URI (Uniform Resource Identifier) an. Dies ist eine abstract Klasse.

Namespace: System.Net
Assembly: System (in system.dll)

[SerializableAttribute] 
public abstract class WebRequest : MarshalByRefObject, ISerializable
/** @attribute SerializableAttribute() */ 
public abstract class WebRequest extends MarshalByRefObject implements ISerializable
SerializableAttribute 
public abstract class WebRequest extends MarshalByRefObject implements ISerializable

WebRequest ist die abstract Basisklasse des Anforderungs-/Antwortmodells von .NET Framework für den Zugriff auf Daten im Internet. Eine Anwendung, die das Anforderungs-/Antwortmodell verwendet, kann protokollunabhängig Daten aus dem Internet anfordern. Hierbei werden von der Anwendung Instanzen der WebRequest-Klasse verwendet, während abgeleitete, protokollspezifische Klassen die Details der Anforderung ausführen.

Anforderungen werden von einer Anwendung an einen bestimmten URI gesendet, z. B. an eine Webseite auf einem Server. Der URI bestimmt, welche abgeleitete Klasse aus einer Liste der für die Anwendung registrierten abgeleiteten WebRequest-Klassen erstellt wird. Abgeleitete WebRequest-Klassen werden i. d. R. für die Behandlung eines bestimmten Protokolls registriert, z. B. HTTP oder FTP, können jedoch auch für die Behandlung der Anforderung eines bestimmten Servers oder eines Pfades auf einem Server registriert werden.

Die WebRequest-Klasse löst eine WebException aus, wenn beim Zugriff auf eine Internetressource Fehler auftreten. Die WebException.Status-Eigenschaft ist einer der WebExceptionStatus-Werte, die die Fehlerquelle angeben. Wenn WebException.Status auf WebExceptionStatus.ProtocolError festgelegt ist, enthält die Response-Eigenschaft die aus der Internetressource empfangene WebResponse.

Da die WebRequest-Klasse eine abstract Klasse ist, wird das tatsächliche Verhalten der WebRequest-Instanzen zur Laufzeit von der abgeleiteten Klasse bestimmt, die von der System.Net.WebRequest.Create-Methode zurückgegeben wird. Weitere Informationen über Standardwerte und Ausnahmen finden Sie in der Dokumentation zu den abgeleiteten Klassen, z. B. HttpWebRequest und FileWebRequest.

HinweisHinweis

Verwenden Sie zum Initialisieren von neuen WebRequest-Instanzen die Create-Methode. Verwenden Sie nicht den WebRequest-Konstruktor.

HinweisHinweis

Wenn die Anwendung, die das WebRequest-Objekt erstellt, mit den Anmeldeinformationen eines Standardbenutzers ausgeführt wird, kann die Anwendung nicht auf Zertifikate zugreifen, die im Speicher des lokalen Computers installiert sind, es sei denn, die entsprechende Berechtigung wurde dem Benutzer explizit erteilt.

Hinweise für Erben Wenn Sie WebRequest vererben, müssen Sie die folgenden Member überschreiben: Method, RequestUri, Headers, ContentLength, ContentType, Credentials, PreAuthenticate, GetRequestStream, BeginGetRequestStream, EndGetRequestStream, GetResponse, BeginGetResponse und EndGetResponse. Außerdem muss eine Implementierung der IWebRequestCreate-Schnittstelle bereitgestellt werden, die die Create-Methode definiert, die beim Aufruf von Create verwendet wird. Die Klasse, die die IWebRequestCreate-Schnittstelle implementiert, muss mithilfe der RegisterPrefix-Methode oder der Konfigurationsdatei registriert werden.

Im folgenden Beispiel wird veranschaulicht, wie eine WebRequest-Instanz erstellt und die Antwort zurückgegeben wird.

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

  • WebPermission  für den Zugriff auf den angeforderten URI oder einen URI, zu dem die Anforderung umgeleitet wurde. Zugeordnete Enumeration: Connect

Alle öffentlichen statischen (Shared in Visual Basic) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

.NET Compact Framework

Unterstützt in: 2.0, 1.0
Anzeigen: