HttpWebRequest Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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
- Vererbung
- Attribute
- Implementiert
Beispiele
Im folgenden Codebeispiel wird ein HttpWebRequest für den URI-http://www.contoso.com/
erstellt.
HttpWebRequest^ myReq = dynamic_cast<HttpWebRequest^>(WebRequest::Create( "http://www.contoso.com/" ));
HttpWebRequest myReq =
(HttpWebRequest)WebRequest.Create("http://www.contoso.com/");
Dim myReq As HttpWebRequest = _
WebRequest.Create("http://www.contoso.com/")
Hinweise
Vorsicht
WebRequest
, HttpWebRequest
, ServicePoint
und 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 definierten Eigenschaften und Methoden sowie für zusätzliche Eigenschaften und Methoden, mit denen der Benutzer direkt mit Servern mit HTTP interagieren kann.
Verwenden Sie nicht den HttpWebRequest-Konstruktor. Verwenden Sie die 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 stellt eine synchrone Anforderung an die in der RequestUri -Eigenschaft angegebene Ressource und gibt eine HttpWebResponse zurück, die das Antwortobjekt enthält. Die Antwortdaten können mithilfe des von GetResponseStreamzurü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 methoden BeginGetRequestStream und EndGetRequestStream 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 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.StatusWebExceptionStatus.ProtocolErrorist, enthält die Response-Eigenschaft die von der Ressource empfangenen HttpWebResponse.
HttpWebRequest macht allgemeine HTTP-Headerwerte verfügbar, die als Eigenschaften an die Internetressource gesendet werden, von Methoden festgelegt oder vom System festgelegt werden; 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 eigenschaft Accept festgelegt. |
Connection |
Durch die eigenschaft Connection, KeepAlive festgelegt. |
Content-Length |
Wird von der eigenschaft ContentLength festgelegt. |
Content-Type |
Wird von der eigenschaft ContentType festgelegt. |
Expect |
Wird von der eigenschaft Expect festgelegt. |
Date |
Wird vom System auf das aktuelle Datum festgelegt. |
Host |
Wird vom System auf aktuelle Hostinformationen festgelegt. |
If-Modified-Since |
Wird von der eigenschaft IfModifiedSince festgelegt. |
Range |
Wird von der AddRange-Methode festgelegt. |
Referer |
Wird von der eigenschaft Referer festgelegt. |
Transfer-Encoding |
Durch die eigenschaft TransferEncoding festgelegt (die eigenschaft SendChunked muss true sein). |
User-Agent |
Wird von der eigenschaft UserAgent festgelegt. |
Anmerkung
HttpWebRequest wird automatisch registriert. Sie müssen die RegisterPrefix-Methode nicht aufrufen, um System.Net.HttpWebRequest zu registrieren, 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. Beim Versuch, eine SSL-Sitzung wiederzuverwenden, verwendet das Framework das erste Element von ClientCertificates (sofern vorhanden), oder versucht, anonyme Sitzungen wiederzuverwenden, wenn ClientCertificates 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.
.NET Framework 4.6 enthält ein neues Sicherheitsfeature, das unsichere Verschlüsselungs- und Hashingalgorithmen für Verbindungen blockiert. Anwendungen, die TLS/SSL über APIs wie HttpClient, HttpWebRequest, FTPClient, SmtpClient, SslStream usw. verwenden und .NET Framework 4.6 als Ziel verwenden, erhalten standardmäßig das sicherere Verhalten.
Entwickler möchten dieses Verhalten möglicherweise deaktivieren, um die Interoperabilität mit ihren vorhandenen SSL3-Diensten ODER TLS w/RC4-Diensten aufrechtzuerhalten. In diesem Artikel wird erläutert, wie Sie Ihren Code so ändern, dass das neue Verhalten deaktiviert ist.
Konstruktoren
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 klassen SerializationInfo und StreamingContext. Dieser Konstruktor ist veraltet. |
Eigenschaften
Accept |
Dient zum Abrufen oder Festlegen des Werts des |
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 |
ConnectionGroupName |
Dient zum Abrufen oder Festlegen des Namens der Verbindungsgruppe für die Anforderung. |
ConnectionGroupName |
Wenn sie in einer untergeordneten Klasse überschrieben werden, ruft den Namen der Verbindungsgruppe für die Anforderung ab oder legt sie fest. (Geerbt von WebRequest) |
ContentLength |
Dient zum Abrufen oder Festlegen des |
ContentLength |
Wenn sie in einer untergeordneten Klasse überschrieben werden, ruft die Inhaltslänge der gesendeten Anforderungsdaten ab oder legt sie fest. (Geerbt von WebRequest) |
ContentType |
Dient zum Abrufen oder Festlegen des Werts des |
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 eine absteigende Klasse überschrieben wird, ruft das Factoryobjekt ab, das von der IWebRequestCreate Klasse abgeleitet wird, mit der die WebRequest instanziiert werden, um die Anforderung an den angegebenen URI zu senden. (Geerbt von WebRequest) |
Credentials |
Ruft Authentifizierungsinformationen für die Anforderung ab oder legt diese fest. |
Date |
Dient zum Abrufen oder Festlegen des |
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 eigenschaft MaximumResponseHeadersLength. |
Expect |
Dient zum Abrufen oder Festlegen des Werts des |
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 |
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. |
PreAuthenticate |
Wenn sie in einer untergeordneten Klasse überschrieben wird, gibt sie an, ob die Anforderung vorab authentifiziert werden soll. (Geerbt von WebRequest) |
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 |
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 CookieContainerbereitstellt. |
Timeout |
Dient zum Abrufen oder Festlegen des Timeoutwerts in Millisekunden für die methoden GetResponse() und GetRequestStream(). |
Timeout |
Ruft die Zeitdauer in Millisekunden ab, bevor die Anforderung timeout ist, oder legt diese fest. (Geerbt von WebRequest) |
TransferEncoding |
Dient zum Abrufen oder Festlegen des Werts des |
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. |
UseDefaultCredentials |
Wenn eine absteigende Klasse überschrieben wird, wird ein Boolean Wert abgerufen oder festgelegt, der steuert, ob DefaultCredentials mit Anforderungen gesendet werden. (Geerbt von WebRequest) |
UserAgent |
Dient zum Abrufen oder Festlegen des Werts des |
Methoden
Abort() |
Bricht eine Anforderung an eine Internetressource ab. |
AddRange(Int32) |
Fügt eine Bytebereichskopfzeile zu einer Anforderung für einen bestimmten Bereich vom Anfang oder Ende der angeforderten Daten hinzu. |
AddRange(Int32, Int32) |
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(Int64, Int64) |
Fügt der Anforderung für einen angegebenen Bereich einen Bytebereichsheader 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, Int32, Int32) |
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. |
AddRange(String, Int64, Int64) |
Fügt einer Anforderung für einen angegebenen Bereich einen Bereichsheader 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) |
Beendet eine asynchrone Anforderung für ein Stream-Objekt zum Schreiben von Daten. |
EndGetRequestStream(IAsyncResult, TransportContext) |
Beendet eine asynchrone Anforderung für ein Stream-Objekt zum Schreiben von Daten und gibt die dem Datenstrom zugeordneten TransportContext aus. |
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. |
GetObjectData(SerializationInfo, StreamingContext) |
Veraltet.
Füllt eine SerializationInfo mit den daten auf, die zum Serialisieren des Zielobjekts erforderlich sind. (Geerbt von WebRequest) |
GetRequestStream() |
Ruft ein Stream Objekt zum Schreiben von Anforderungsdaten ab. |
GetRequestStream() |
Wenn sie in einer untergeordneten Klasse überschrieben wird, wird ein Stream zum Schreiben von Daten in die Internetressource zurückgegeben. (Geerbt von WebRequest) |
GetRequestStream(TransportContext) |
Ruft ein Stream -Objekt zum Schreiben von Anforderungsdaten und gibt die dem Datenstrom zugeordnete TransportContext aus. |
GetRequestStreamAsync() |
Wenn eine absteigende Klasse überschrieben wird, wird ein 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. |
GetResponse() |
Wenn sie in einer untergeordneten Klasse überschrieben wird, wird eine Antwort auf eine Internetanforderung zurückgegeben. (Geerbt von WebRequest) |
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
ISerializable.GetObjectData(SerializationInfo, StreamingContext) |
Veraltet.
Veraltet.
Veraltet.
Füllt eine SerializationInfo mit den daten auf, die zum Serialisieren des Zielobjekts erforderlich sind. |
Erweiterungsmethoden
GetRequestMetadata(HttpWebRequest) |
Ruft Metadaten für ausgehende Anforderungen ab, die für Telemetriezwecke verwendet werden sollen. |
SetRequestMetadata(HttpWebRequest, RequestMetadata) |
Legt Metadaten für ausgehende Anforderungen fest, die für Telemetriezwecke verwendet werden sollen. |