Freigeben über


HttpWebRequest-Klasse

Stellt eine HTTP-spezifische Implementierung der WebRequest-Klasse bereit.

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

Syntax

'Declaration
<SerializableAttribute> _
Public Class HttpWebRequest
    Inherits WebRequest
    Implements ISerializable
'Usage
Dim instance As HttpWebRequest
[SerializableAttribute] 
public class HttpWebRequest : WebRequest, ISerializable
[SerializableAttribute] 
public ref class HttpWebRequest : public WebRequest, ISerializable
/** @attribute SerializableAttribute() */ 
public class HttpWebRequest extends WebRequest implements ISerializable
SerializableAttribute 
public class HttpWebRequest extends WebRequest implements ISerializable

Hinweise

Die HttpWebRequest-Klasse bietet Unterstützung für die in WebRequest definierten Eigenschaften und Methoden sowie für zusätzliche Eigenschaften und Methoden, die es Benutzern ermöglichen, unter Verwendung von HTTP direkt mit Servern zu interagieren.

Verwenden Sie nicht den HttpWebRequest-Konstruktor. Verwenden Sie die System.Net.WebRequest.Create-Methode, um neue HttpWebRequest-Objekte zu initialisieren. Wenn das Schema für den URI (Uniform Resource Identifier) http:// oder https:// ist, gibt Create ein HttpWebRequest-Objekt zurück.

Die GetResponse-Methode führt eine synchrone Anforderung an die in der RequestUri-Eigenschaft angegebene Ressource aus und gibt eine HttpWebResponse zurück, die die Antwort enthält. Mithilfe der BeginGetResponse-Methode und der EndGetResponse-Methode können Sie eine asynchrone Anforderung an die Ressource ausführen.

Wenn Sie Daten an die Ressource senden möchten, gibt die GetRequestStream-Methode ein zum Senden von Daten zu verwendendes Stream-Objekt zurück. Die BeginGetRequestStream-Methode und die EndGetRequestStream-Methode ermöglichen den asynchronen Zugriff auf den Stream für das Senden von Daten.

Für die Clientauthentifizierung mit HttpWebRequest muss das Clientzertifikat im persönlichen Zertifikatsspeicher des aktuellen Benutzers installiert sein.

Die HttpWebRequest-Klasse löst eine WebException aus, wenn beim Zugriff auf eine Ressource Fehler auftreten. Die WebException.Status-Eigenschaft enthält einen WebExceptionStatus-Wert, der die Quelle des Fehlers angibt. Wenn WebException.Status auf WebExceptionStatus.ProtocolError festgelegt ist, enthält die Response-Eigenschaft die von der Ressource empfangene HttpWebResponse.

HttpWebRequest macht häufig verwendete HTTP-Headerwerte verfügbar, die als durch Methoden oder das System festgelegte Eigenschaften an die Internetressource gesendet werden. Die folgende Tabelle enthält eine vollständige Liste. In der Headers-Eigenschaft können Sie andere Header als Name-Wert-Paare festlegen. Beachten Sie, dass Server und Caches während der Anforderung möglicherweise Header ändern oder hinzufügen.

In der folgenden Tabelle sind die HTTP-Header aufgeführt, die durch Eigenschaften, durch Methoden oder durch das System festgelegt werden.

Header

Festlegung

Accept

Durch die Accept-Eigenschaft festgelegt.

Connection

Durch die Connection-Eigenschaft und die KeepAlive-Eigenschaft festgelegt.

Content-Length

Durch die ContentLength-Eigenschaft festgelegt.

Content-Type

Durch die ContentType-Eigenschaft festgelegt.

Expect

Durch die Expect-Eigenschaft festgelegt.

Date

Durch das System auf das aktuelle Datum festgelegt.

Host

Durch das System auf die aktuellen Hostinformationen festgelegt.

If-Modified-Since

Durch die IfModifiedSince-Eigenschaft festgelegt.

Range

Durch die AddRange-Methode festgelegt.

Referer

Durch die Referer-Eigenschaft festgelegt.

Transfer-Encoding

Durch die TransferEncoding-Eigenschaft festgelegt (die SendChunked-Eigenschaft muss true sein).

User-Agent

Durch die UserAgent-Eigenschaft festgelegt.

Hinweis

HttpWebRequest wird automatisch registriert. Es ist nicht erforderlich, die RegisterPrefix-Methode zum Registrieren von System.Net.HttpWebRequest aufzurufen, bevor Sie mit http:// oder https:// beginnende URIs verwenden.

Wenn in der Konfiguration des lokalen Computers angegeben ist, dass ein Proxy verwendet wird, oder wenn in der Anforderung ein Proxy angegeben ist, wird die Anforderung unter Verwendung eines Proxys gesendet. Wenn kein Proxy angegeben wurde, wird die Anforderung an den Server gesendet.

Hinweis

Das Framework zwischenspeichert SSL-Sitzungen bei ihrer Erstellung und versucht, zwischengespeicherte Sitzungen für neue Anforderungen wiederzuverwenden, sofern möglich. Für die erneute Verwendung einer SSL-Sitzung verwendet das Framework das erste Element von ClientCertificates (sofern vorhanden) oder versucht, eine anonyme Sitzung erneut zu verwenden, falls ClientCertificates leer ist.

Hinweis

Cookies sind aus Sicherheitsgründen standardmäßig deaktiviert. Wenn Sie Cookies verwenden möchten, aktivieren Sie Cookies mithilfe der CookieContainer-Eigenschaft.

Beispiel

Im folgenden Codebeispiel wird eine HttpWebRequest für den URI https://www.contoso.com/. erstellt.

Dim myReq As HttpWebRequest = _
    WebRequest.Create("https://www.contoso.com/")
HttpWebRequest myReq =
(HttpWebRequest)WebRequest.Create("https://www.contoso.com/");
HttpWebRequest^ myReq = dynamic_cast<HttpWebRequest^>(WebRequest::Create( "https://www.contoso.com/" ));
HttpWebRequest myReq =
    ((HttpWebRequest)(WebRequest.Create("https://www.contoso.com/")));
var myReq : HttpWebRequest = HttpWebRequest(WebRequest.Create("https://www.contoso.com/"))

.NET Framework-Sicherheit

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

Vererbungshierarchie

System.Object
   System.MarshalByRefObject
     System.Net.WebRequest
      System.Net.HttpWebRequest

Threadsicherheit

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

Plattformen

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.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

.NET Compact Framework

Unterstützt in: 2.0, 1.0

Siehe auch

Referenz

HttpWebRequest-Member
System.Net-Namespace

Weitere Ressourcen

defaultProxy-Element (Netzwerkeinstellungen)