System.Net.Http Namespace
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 Programmierschnittstelle für moderne HTTP-Anwendungen zur Verfügung.
Klassen
ByteArrayContent |
Stellt HTTP-Inhalt auf Grundlage von einem Bytearray bereit. |
DelegatingHandler |
Ein Typ für HTTP-Handler, die die Verarbeitung von HTTP-Antwortnachrichten in einen anderen Handler (den internen Handler) delegieren. |
FormUrlEncodedContent |
Ein Container für die Name/Wert-Tupel, codiert mit dem "application/x-www-form-urlencoded" MIME-Typ. |
HttpClient |
Stellt eine Klasse zum Senden von HTTP-Anforderungen und zum Empfangen von HTTP-Antworten von einer Ressource bereit, die durch einen URI identifiziert wird. |
HttpClientFactoryExtensions |
Erweiterungsmethoden für IHttpClientFactory. |
HttpClientHandler |
Den Standardnachrichtenhandler, der von HttpClient in .NET Framework und .NET Core 2.0 und früheren Versionen verwendet wird. |
HttpContent |
Eine Basisklasse, die einen HTTP-Entitätstext und Inhaltsheader darstellt. |
HttpDiagnosticsHttpRequestMessageExtensions |
Erweiterungen für Telemetrieprogramme. |
HttpIOException |
Die Ausnahme, die ausgelöst wird, wenn beim Lesen der Antwort ein Fehler auftritt. |
HttpMessageHandler |
Ein Basistyp für HTTP-Meldungshandler. |
HttpMessageHandlerFactoryExtensions |
Erweiterungsmethoden für IHttpMessageHandlerFactory. |
HttpMessageInvoker |
Eine spezielle Klasse, die es Anwendungen ermöglicht, die SendAsync(HttpRequestMessage, CancellationToken)-Methode auf einer HTTP-Handlerkette aufzurufen. |
HttpMethod |
Eine Hilfsprogrammklasse für das Abrufen und das Vergleichen von Standard-HTTP-Methoden und zum Erstellen von neuen HTTP-Methoden. |
HttpProtocolException |
Die Ausnahme, die ausgelöst wird, wenn ein HTTP/2- oder EIN HTTP/3-Protokollfehler auftritt. |
HttpRequestException |
Eine Basisklasse für Ausnahmen, die von den Klassen HttpClient und HttpMessageHandler ausgelöst werden. |
HttpRequestMessage |
Stellt eine HTTP-Anforderungsnachricht dar. |
HttpRequestOptions |
Stellt eine Auflistung von Optionen für eine HTTP-Anforderung dar. |
HttpResilienceHttpRequestMessageExtensions |
Die Resilienzerweiterungen für HttpRequestMessage. |
HttpResponseMessage |
Stellt eine HTTP-Antwortnachricht einschließlich den Statuscodes und der Daten dar. |
MessageProcessingHandler |
Ein Basistyp für Handler, die nur am Rande an der Verarbeitung von Anforderungs- und/oder Antwortnachrichten beteiligt sind. |
MultipartContent |
Stellt eine Auflistung von HttpContent-Objekten bereit, die mithilfe der multipart/*-Inhaltstypspezifikation serialisiert werden. |
MultipartFormDataContent |
Stellt einen Container für Inhalt bereit, der mithilfe des MIME-Typs „multipart/form-data“ codiert wurde. |
ReadOnlyMemoryContent |
Stellt HTTP-Inhalt auf der Grundlage von ReadOnlyMemory<T> bereit. |
RtcRequestFactory |
Stellt eine Programmierschnittstelle für moderne HTTP-Anwendungen zur Verfügung. |
SocketsHttpConnectionContext |
Stellt den Kontext dar, der an ConnectCallback für eine SocketsHttpHandler-Instanz übergeben wird. . |
SocketsHttpHandler |
Stellt den Standardnachrichtenhandler bereit, der von HttpClient in .NET Core 2.1 und höher verwendet wird. |
SocketsHttpPlaintextStreamFilterContext |
Stellt den Kontext dar, der an den PlaintextStreamFilter für eine SocketsHttpHandler-Instanz übergeben wird. |
StreamContent |
Stellt HTTP-Inhalt auf Grundlage eines Streams bereit. |
StringContent |
Stellt HTTP-Inhalt auf Grundlage einer Zeichenfolge bereit. |
WebRequestHandler |
Stellt desktop-spezifische Funktionen bereit, die für Windows Store-Apps oder andere Umgebungen nicht verfügbar sind. |
WinHttpHandler |
Verarbeitet Nachrichten basierend auf der WinHTTP-Schnittstelle von Windows. Diese Klasse ist für die Verwendung in Serverumgebungen vorgesehen. |
Strukturen
HttpRequestOptionsKey<TValue> |
Stellt einen Schlüssel in der Optionsauflistung für eine HTTP-Anforderung dar. |
Schnittstellen
IHttpClientFactory |
Eine Factoryabstraktion für eine Komponente, die HttpClient-Instanzen mit benutzerdefinierter Konfiguration für einen angegebenen logischen Namen erstellen kann. |
IHttpMessageHandlerFactory |
Eine Factoryabstraktion für eine Komponente, die HttpMessageHandler-Instanzen mit benutzerdefinierter Konfiguration für einen angegebenen logischen Namen erstellen kann. |
Enumerationen
ClientCertificateOption |
Gibt an, wie die Clientzertifikate bereitgestellt werden. |
CookieUsePolicy |
Diese Enumeration ermöglicht das Steuern von HTTP-Cookies bei der Kommunikation mit dem Server. |
HttpCompletionOption |
Gibt an, ob HttpClient-Vorgänge als abgeschlossen betrachtet werden, sobald eine Antwort verfügbar ist, oder nachdem die gesamte Antwortnachricht einschließlich Inhalt gelesen wurde. |
HttpKeepAlivePingPolicy |
Gibt an, wann der HTTP/2-Pingrahmen bei einer Verbindung im Leerlauf gesendet wird. |
HttpRequestError |
Definiert Fehlerkategorien, die den Grund für HttpRequestException oder HttpIOExceptiondarstellen. |
HttpVersionPolicy |
Gibt Verhalten zum Auswählen und Aushandeln der HTTP-Version für eine Anforderung an. |
WindowsProxyUsePolicy |
Diese Enumeration stellt verfügbare Optionen für die Proxyeinstellungen bereit, die von einem HttpClient-Objekt bei der Ausführung unter Windows verwendet werden. |
Delegaten
HeaderEncodingSelector<TContext> |
Stellt eine Methode dar, die die beim Interpretieren von Headerwerten zu verwendende Codierung angibt. |
Hinweise
Der System.Net.Http Namespace ist so konzipiert, dass folgendes bereitgestellt wird:
HTTP-Clientkomponenten, mit denen Benutzer moderne Webdienste über HTTP nutzen können.
HTTP-Komponenten, die sowohl von Clients als auch von Servern verwendet werden können (z. B. HTTP-Header und -Nachrichten). Dies bietet ein konsistentes Programmiermodell auf Client- und Serverseite für moderne Webdienste über HTTP.
Der System.Net.Http Namespace und der zugehörige System.Net.Http.Headers Namespace stellen den folgenden Satz von Komponenten bereit:
HttpClient : Die primäre Klasse, die zum Senden und Empfangen von Anforderungen über HTTP verwendet wird.
HttpRequestMessage und HttpResponseMessage : HTTP-Nachrichten, wie in RFC 2616 von der IETF definiert.
HttpHeaders – HTTP-Header, wie in RFC 2616 von der IETF definiert.
HttpClientHandler – HTTP-Handler, die für die Erstellung von HTTP-Antwortnachrichten verantwortlich sind.
Es gibt verschiedene HTTP-Nachrichtenhandler, die verwendet werden können. Hierzu zählen folgende:
DelegatingHandler – Eine Klasse, die verwendet wird, um einen Handler in eine Handlerkette zu stecken.
HttpMessageHandler – Eine einfache Klasse, die von abgeleitet werden soll, die die gängigsten Anforderungen für die meisten Anwendungen unterstützt.
HttpClientHandler - Eine Klasse, die unten in der Handlerkette ausgeführt wird, die die HTTP-Transportvorgänge tatsächlich verarbeitet.
WebRequestHandler – Eine Spezialklasse, die unten in der Handlerkettenklasse ausgeführt wird, die HTTP-Transportvorgänge mit objektspezifischen System.Net.HttpWebRequest Optionen verarbeitet.
Der Inhalt einer HTTP-Nachricht entspricht dem in RFC 2616 definierten Entitätstext.
Eine Reihe von Klassen kann für HTTP-Inhalte verwendet werden. Hierzu zählen folgende:
ByteArrayContent – HTTP-Inhalt basierend auf einem Bytearray.
FormUrlEncodedContent – HTTP-Inhalt von Namens-/Werttupeln, die mit dem MIME-Typ application/x-www-form-urlencoded codiert wurden.
MultipartContent – HTTP-Inhalt, der mithilfe der Mehrteiligen/*-Inhaltstypspezifikation serialisiert wird.
MultipartFormDataContent – HTTP-Inhalt, der mit dem MIME-Typ multipart/form-data codiert ist.
StreamContent – HTTP-Inhalt basierend auf einem Stream.
StringContent – HTTP-Inhalt basierend auf einer Zeichenfolge.
Wenn eine App, die die System.Net.Http Namespaces und System.Net.Http.Headers verwendet, große Datenmengen (50 MB oder mehr) herunterladen möchte, sollte die App diese Downloads streamen und nicht die Standardpufferung verwenden. Wenn die Standardpufferung verwendet wird, wird die Arbeitsspeicherauslastung des Clients sehr groß, was möglicherweise zu einer erheblichen Leistungsminderung führt.
Klassen in den System.Net.Http Namespaces und System.Net.Http.Headers können zum Entwickeln von Windows Store-Apps oder Desktop-Apps verwendet werden. Bei Verwendung in einer Windows Store-App sind Klassen in den Namespaces und System.Net.Http.Headers von der System.Net.Http Netzwerkisolation betroffen, die Teil des Anwendungssicherheitsmodells ist, das vom Windows 8 verwendet wird. Die entsprechenden Netzwerkfunktionen müssen im App-Manifest für eine Windows Store-App aktiviert sein, damit das System den Netzwerkzugriff durch eine Windows Store-App ermöglicht. Weitere Informationen finden Sie unter Netzwerkisolation für Windows Store-Apps.