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