Freigeben über


HttpWebRequest Klasse

Definition

Stellt eine HTTP-spezifische Implementierung der WebRequest Klasse bereit.

public ref class HttpWebRequest : System::Net::WebRequest
public ref class HttpWebRequest : System::Net::WebRequest, System::Runtime::Serialization::ISerializable
public class HttpWebRequest : System.Net.WebRequest
public class HttpWebRequest : System.Net.WebRequest, System.Runtime.Serialization.ISerializable
[System.Serializable]
public class HttpWebRequest : System.Net.WebRequest, System.Runtime.Serialization.ISerializable
type HttpWebRequest = class
    inherit WebRequest
type HttpWebRequest = class
    inherit WebRequest
    interface ISerializable
[<System.Serializable>]
type HttpWebRequest = class
    inherit WebRequest
    interface ISerializable
Public Class HttpWebRequest
Inherits WebRequest
Public Class HttpWebRequest
Inherits WebRequest
Implements ISerializable
Vererbung
HttpWebRequest
Vererbung
Attribute
Implementiert

Beispiele

Im folgenden Codebeispiel wird ein HttpWebRequest URI http://www.contoso.com/erstellt.


HttpWebRequest myReq =
(HttpWebRequest)WebRequest.Create("http://www.contoso.com/");

Dim myReq As HttpWebRequest = _
    WebRequest.Create("http://www.contoso.com/")

Hinweise

Vorsicht

WebRequest, HttpWebRequest, ServicePointund WebClient sind veraltet, und Sie sollten sie nicht für die neue Entwicklung verwenden. Verwenden Sie stattdessen HttpClient.

Die HttpWebRequest Klasse bietet Unterstützung für die in WebRequest und für zusätzliche Eigenschaften und Methoden definierten Eigenschaften und Methoden, mit denen der Benutzer direkt mit Servern mit HTTP interagieren kann.

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

Die GetResponse Methode sendet eine synchrone Anforderung an die in der RequestUri Eigenschaft angegebene Ressource und gibt ein HttpWebResponse Objekt zurück, das das Antwortobjekt enthält. Die Antwortdaten können mithilfe des von GetResponseStreamihnen zurückgegebenen Datenstroms empfangen werden. Wenn das Antwortobjekt oder der Antwortdatenstrom geschlossen ist, werden die verbleibenden Daten verworfen. Die verbleibenden Daten werden abgelassen, und der Socket wird für nachfolgende Anforderungen beim Schließen des Antwortobjekts oder Datenstroms erneut verwendet, wenn die folgenden Bedingungen enthalten sind: Es handelt sich um eine Keep-Alive- oder weitergeleitete Anforderung, nur eine kleine Menge an Daten muss empfangen werden, oder die verbleibenden Daten werden in einem kleinen Zeitintervall empfangen. Wenn keine der genannten Bedingungen gehalten wird oder die Entwässerungszeit überschritten wird, wird der Socket geschlossen. Für Keep-Alive- oder Pipelineverbindungen wird dringend empfohlen, dass die Anwendung die Datenströme bis zu EOF liest. Dadurch wird sichergestellt, dass der Socket für nachfolgende Anforderungen wiederverwendet wird, was zu einer besseren Leistung und weniger Ressourcen führt.

Wenn Sie Daten an die Ressource senden möchten, gibt die GetRequestStream Methode ein Stream Objekt zurück, das zum Senden von Daten verwendet werden soll. Die BeginGetRequestStream Methoden und EndGetRequestStream Methoden bieten asynchronen Zugriff auf den Sendedatenstrom.

Für die Clientauthentifizierung mit HttpWebRequestmuss das Clientzertifikat im Zertifikatspeicher "Mein Zertifikat" des aktuellen Benutzers installiert sein.

Die HttpWebRequest Klasse löst einen WebException Fehler 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 dies der Wert ist WebExceptionStatus.ProtocolError, enthält die Response Eigenschaft die HttpWebResponse empfangene Ressource.

HttpWebRequest macht allgemeine HTTP-Headerwerte verfügbar, die an die Internetressource gesendet werden, als Eigenschaften, durch Methoden festgelegt oder vom System festgelegt; die folgende Tabelle enthält eine vollständige Liste. Sie können andere Kopfzeilen in der Headers Eigenschaft 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 entweder durch Eigenschaften oder Methoden oder das System festgelegt werden.

Kopfball Festlegen nach
Accept Wird von der Accept Eigenschaft festgelegt.
Connection Festgelegt durch die Connection Eigenschaft, KeepAlive Eigenschaft.
Content-Length Wird von der ContentLength Eigenschaft festgelegt.
Content-Type Wird von der ContentType Eigenschaft festgelegt.
Expect Wird von der Expect Eigenschaft festgelegt.
Date Wird vom System auf das aktuelle Datum festgelegt.
Host Wird vom System auf aktuelle Hostinformationen festgelegt.
If-Modified-Since Wird von der IfModifiedSince Eigenschaft festgelegt.
Range Wird von der AddRange Methode festgelegt.
Referer Wird von der Referer Eigenschaft festgelegt.
Transfer-Encoding Wird von der TransferEncoding Eigenschaft festgelegt (die SendChunked Eigenschaft muss sein true).
User-Agent Wird von der UserAgent Eigenschaft festgelegt.

Anmerkung

HttpWebRequest wird automatisch registriert. Sie müssen die RegisterPrefix Methode nicht aufrufen, um sich zu registrieren System.Net.HttpWebRequest , bevor Sie URIs verwenden, die mit http:// oder https://beginnen.

Die Lokale Computer- oder Anwendungskonfigurationsdatei kann angeben, dass ein Standardproxy verwendet wird. Wenn die Proxy Eigenschaft angegeben ist, überschreiben die Proxyeinstellungen aus der Proxy Eigenschaft die lokale Computer- oder Anwendungskonfigurationsdatei, und die HttpWebRequest Instanz verwendet die angegebenen Proxyeinstellungen. Wenn in einer Konfigurationsdatei kein Proxy angegeben ist und die Proxy Eigenschaft nicht angegeben ist, verwendet die HttpWebRequest Klasse die Proxyeinstellungen, die von Internetoptionen auf dem lokalen Computer geerbt wurden. Wenn keine Proxyeinstellungen in Internetoptionen vorhanden sind, wird die Anforderung direkt an den Server gesendet.

Anmerkung

Das Framework speichert SSL-Sitzungen während der Erstellung zwischen und versucht, eine zwischengespeicherte Sitzung für eine neue Anforderung ggf. wiederzuverwenden. Wenn Sie versuchen, eine SSL-Sitzung wiederzuverwenden, verwendet das Framework das erste Element von ClientCertificates (falls vorhanden) oder versucht, eine anonyme Sitzung wiederzuverwenden, wenn ClientCertificates sie leer ist.

Anmerkung

Aus Sicherheitsgründen werden Cookies standardmäßig deaktiviert. Wenn Sie Cookies verwenden möchten, verwenden Sie die CookieContainer Eigenschaft, um Cookies zu aktivieren.

Für Apps, die TLS/SSL über APIs wie HttpClient, HttpWebRequest, FTPClient, SmtpClient und SsStream verwenden, blockiert .NET standardmäßig unsichere Verschlüsselungs- und Hashingalgorithmen für Verbindungen. Möglicherweise müssen Sie dieses Verhalten deaktivieren, um die Interoperabilität mit vorhandenen SSL3-Diensten oder TLS w/RC4-Diensten aufrechtzuerhalten. Es kann keine Verbindung mit einem Server hergestellt werden, indem die ServicePointManager- oder SslStream-APIs nach dem Upgrade auf .NET Framework 4.6 verwendet werden können, wird erläutert, wie Sie Ihren Code ändern, um dieses Verhalten bei Bedarf zu deaktivieren.

Konstruktoren

Name Beschreibung
HttpWebRequest()
Veraltet.
Veraltet.

Initialisiert eine neue Instanz der HttpWebRequest-Klasse. Dieser Konstruktor ist veraltet.

HttpWebRequest(SerializationInfo, StreamingContext)
Veraltet.
Veraltet.
Veraltet.
Veraltet.

Initialisiert eine neue Instanz der HttpWebRequest Klasse aus den angegebenen Instanzen der SerializationInfo Klassen und StreamingContext Klassen. Dieser Konstruktor ist veraltet.

Eigenschaften

Name Beschreibung
Accept

Dient zum Abrufen oder Festlegen des Werts des Accept HTTP-Headers.

Address

Ruft den URI (Uniform Resource Identifier) der Internetressource ab, die tatsächlich auf die Anforderung antwortet.

AllowAutoRedirect

Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob die Anforderung Umleitungsantworten folgen soll.

AllowReadStreamBuffering

Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob die empfangene aus der Internetressource gepuffert werden soll.

AllowWriteStreamBuffering

Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob die an die Internetressource gesendeten Daten gepuffert werden sollen.

AuthenticationLevel

Dient zum Abrufen oder Festlegen von Werten, die die Ebene der Authentifizierung und des Identitätswechsels für diese Anforderung angeben.

(Geerbt von WebRequest)
AutomaticDecompression

Dient zum Abrufen oder Festlegen des Typs der Dekomprimierung, die verwendet wird.

CachePolicy

Dient zum Abrufen oder Festlegen der Cacherichtlinie für diese Anforderung.

(Geerbt von WebRequest)
ClientCertificates

Dient zum Abrufen oder Festlegen der Auflistung von Sicherheitszertifikaten, die dieser Anforderung zugeordnet sind.

Connection

Dient zum Abrufen oder Festlegen des Werts des Connection HTTP-Headers.

ConnectionGroupName

Dient zum Abrufen oder Festlegen des Namens der Verbindungsgruppe für die Anforderung.

ContentLength

Dient zum Abrufen oder Festlegen des Content-length HTTP-Headers.

ContentType

Dient zum Abrufen oder Festlegen des Werts des Content-type HTTP-Headers.

ContinueDelegate

Ruft die Delegatmethode ab, die aufgerufen wird, wenn eine HTTP 100-Continue-Antwort von der Internetressource empfangen wird, oder legt diese fest.

ContinueTimeout

Ruft einen Timeout in Millisekunden ab, bis der 100-Continue-Wert vom Server empfangen wird, oder legt diesen fest.

CookieContainer

Ruft die Cookies ab, die der Anforderung zugeordnet sind, oder legt diese fest.

CreatorInstance
Veraltet.

Wenn sie in einer untergeordneten Klasse überschrieben wird, ruft das Factoryobjekt ab, das von der Klasse abgeleitet wird, mit der IWebRequestCreate die WebRequest Instanziierung für die Anforderung an den angegebenen URI erstellt wird.

(Geerbt von WebRequest)
Credentials

Ruft Authentifizierungsinformationen für die Anforderung ab oder legt diese fest.

Date

Ruft den HTTP-Headerwert ab, der Date in einer HTTP-Anforderung verwendet werden soll, oder legt diesen fest.

DefaultCachePolicy

Dient zum Abrufen oder Festlegen der Standardcacherichtlinie für diese Anforderung.

DefaultMaximumErrorResponseLength

Ruft die maximale Standardlänge einer HTTP-Fehlerantwort ab oder legt sie fest.

DefaultMaximumResponseHeadersLength

Dient zum Abrufen oder Festlegen des Standardwerts für die MaximumResponseHeadersLength Eigenschaft.

Expect

Dient zum Abrufen oder Festlegen des Werts des Expect HTTP-Headers.

HaveResponse

Ruft einen Wert ab, der angibt, ob eine Antwort von einer Internetressource empfangen wurde.

Headers

Gibt eine Auflistung der Namen-Wert-Paare an, aus denen die HTTP-Header bestehen.

Host

Ruft den Hostheaderwert ab, der in einer HTTP-Anforderung unabhängig vom Anforderungs-URI verwendet werden soll, oder legt diesen fest.

IfModifiedSince

Dient zum Abrufen oder Festlegen des Werts des If-Modified-Since HTTP-Headers.

ImpersonationLevel

Dient zum Abrufen oder Festlegen der Identitätswechselebene für die aktuelle Anforderung.

(Geerbt von WebRequest)
KeepAlive

Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob eine dauerhafte Verbindung mit der Internetressource hergestellt werden soll.

MaximumAutomaticRedirections

Dient zum Abrufen oder Festlegen der maximalen Anzahl von Umleitungen, die die Anforderung folgt.

MaximumResponseHeadersLength

Ruft die maximal zulässige Länge der Antwortheader ab oder legt sie fest.

MediaType

Dient zum Abrufen oder Festlegen des Medientyps der Anforderung.

Method

Dient zum Abrufen oder Festlegen der Methode für die Anforderung.

Pipelined

Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob die Anforderung an die Internetressource weitergeleitet werden soll.

PreAuthenticate

Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob ein Autorisierungsheader mit der Anforderung gesendet werden soll.

ProtocolVersion

Ruft die Version von HTTP ab, die für die Anforderung verwendet werden soll, oder legt diese fest.

Proxy

Dient zum Abrufen oder Festlegen von Proxyinformationen für die Anforderung.

Proxy

Ruft den Netzwerkproxy ab, der für den Zugriff auf diese Internetressource verwendet werden soll, oder legt diesen fest, wenn er in einer untergeordneten Klasse überschrieben wird.

(Geerbt von WebRequest)
ReadWriteTimeout

Dient zum Abrufen oder Festlegen eines Timeouts in Millisekunden beim Schreiben in oder Lesen aus einem Datenstrom.

Referer

Dient zum Abrufen oder Festlegen des Werts des Referer HTTP-Headers.

RequestUri

Ruft den ursprünglichen URI (Uniform Resource Identifier) der Anforderung ab.

SendChunked

Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob Daten in Segmenten an die Internetressource gesendet werden sollen.

ServerCertificateValidationCallback

Dient zum Abrufen oder Festlegen einer Rückruffunktion zum Überprüfen des Serverzertifikats.

ServicePoint

Ruft den Dienstpunkt ab, der für die Anforderung verwendet werden soll.

SupportsCookieContainer

Ruft einen Wert ab, der angibt, ob die Anforderung Unterstützung für eine CookieContainer.

Timeout

Dient zum Abrufen oder Festlegen des Timeoutwerts in Millisekunden für die GetResponse() und GetRequestStream() Methoden.

TransferEncoding

Dient zum Abrufen oder Festlegen des Werts des Transfer-encoding HTTP-Headers.

UnsafeAuthenticatedConnectionSharing

Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob die NTLM-authentifizierte Verbindungsfreigabe mit hoher Geschwindigkeit zugelassen werden soll.

UseDefaultCredentials

Dient zum Abrufen oder Festlegen eines Boolean Werts, der steuert, ob Standardanmeldeinformationen mit Anforderungen gesendet werden.

UserAgent

Dient zum Abrufen oder Festlegen des Werts des User-agent HTTP-Headers.

Methoden

Name Beschreibung
Abort()

Bricht eine Anforderung an eine Internetressource ab.

AddRange(Int32, Int32)

Fügt der Anforderung für einen angegebenen Bereich einen Bytebereichsheader hinzu.

AddRange(Int32)

Fügt eine Bytebereichskopfzeile zu einer Anforderung für einen bestimmten Bereich vom Anfang oder Ende der angeforderten Daten hinzu.

AddRange(Int64, Int64)

Fügt der Anforderung für einen angegebenen Bereich einen Bytebereichsheader hinzu.

AddRange(Int64)

Fügt eine Bytebereichskopfzeile zu einer Anforderung für einen bestimmten Bereich vom Anfang oder Ende der angeforderten Daten hinzu.

AddRange(String, Int32, Int32)

Fügt einer Anforderung für einen angegebenen Bereich einen Bereichsheader hinzu.

AddRange(String, Int32)

Fügt eine Bereichsüberschrift zu einer Anforderung für einen bestimmten Bereich vom Anfang oder Ende der angeforderten Daten hinzu.

AddRange(String, Int64, Int64)

Fügt einer Anforderung für einen angegebenen Bereich einen Bereichsheader hinzu.

AddRange(String, Int64)

Fügt eine Bereichsüberschrift zu einer Anforderung für einen bestimmten Bereich vom Anfang oder Ende der angeforderten Daten hinzu.

BeginGetRequestStream(AsyncCallback, Object)

Beginnt eine asynchrone Anforderung für ein Stream Objekt zum Schreiben von Daten.

BeginGetResponse(AsyncCallback, Object)

Startet eine asynchrone Anforderung an eine Internetressource.

CreateObjRef(Type)

Erstellt ein Objekt, das alle relevanten Informationen enthält, die zum Generieren eines Proxys erforderlich sind, der für die Kommunikation mit einem Remoteobjekt verwendet wird.

(Geerbt von MarshalByRefObject)
EndGetRequestStream(IAsyncResult, TransportContext)

Beendet eine asynchrone Anforderung für ein Stream Objekt, das zum Schreiben von Daten verwendet werden soll, und gibt den TransportContext zugeordneten Datenstrom aus.

EndGetRequestStream(IAsyncResult)

Beendet eine asynchrone Anforderung für ein Stream Objekt zum Schreiben von Daten.

EndGetResponse(IAsyncResult)

Beendet eine asynchrone Anforderung an eine Internetressource.

Equals(Object)

Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht.

(Geerbt von Object)
GetHashCode()

Gibt einen Hashwert für eine WebRequest Instanz zurück.

GetHashCode()

Dient als Standardhashfunktion.

(Geerbt von Object)
GetLifetimeService()
Veraltet.

Ruft das aktuelle Lebensdauerdienstobjekt ab, das die Lebensdauerrichtlinie für diese Instanz steuert.

(Geerbt von MarshalByRefObject)
GetObjectData(SerializationInfo, StreamingContext)
Veraltet.
Veraltet.
Veraltet.

Füllt eine SerializationInfo mit den daten auf, die zum Serialisieren des Zielobjekts erforderlich sind.

GetRequestStream()

Ruft ein Stream Objekt ab, das zum Schreiben von Anforderungsdaten verwendet werden soll.

GetRequestStream(TransportContext)

Ruft ein Stream Objekt ab, das zum Schreiben von Anforderungsdaten verwendet werden soll, und gibt den TransportContext zugeordneten Datenstrom aus.

GetRequestStreamAsync()

Wenn sie in einer absteigenden Klasse überschrieben wird, wird eine Stream Zum Schreiben von Daten in die Internetressource als asynchroner Vorgang zurückgegeben.

(Geerbt von WebRequest)
GetResponse()

Gibt eine Antwort von einer Internetressource zurück.

GetResponseAsync()

Wenn eine absteigende Klasse außer Kraft gesetzt wird, wird eine Antwort auf eine Internetanforderung als asynchroner Vorgang zurückgegeben.

(Geerbt von WebRequest)
GetType()

Ruft die Type der aktuellen Instanz ab.

(Geerbt von Object)
InitializeLifetimeService()
Veraltet.

Ruft ein Lebensdauerdienstobjekt ab, um die Lebensdauerrichtlinie für diese Instanz zu steuern.

(Geerbt von MarshalByRefObject)
MemberwiseClone()

Erstellt eine flache Kopie der aktuellen Object.

(Geerbt von Object)
MemberwiseClone(Boolean)

Erstellt eine flache Kopie des aktuellen MarshalByRefObject Objekts.

(Geerbt von MarshalByRefObject)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Explizite Schnittstellenimplementierungen

Name Beschreibung
ISerializable.GetObjectData(SerializationInfo, StreamingContext)
Veraltet.
Veraltet.
Veraltet.

Füllt eine SerializationInfo mit den Daten auf, die zum Serialisieren des Zielobjekts erforderlich sind.

Gilt für:

Weitere Informationen