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 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 |
| 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. |
| ContentLength |
Dient zum Abrufen oder Festlegen des |
| 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 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 |
| 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 |
| 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. |
| 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 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 |
| 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 |
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. |