System.Net.Http Namespace

Stellt eine Programmierschnittstelle für moderne HTTP-Anwendungen zur Verfügung.

Klassen

ByteArrayContent

Stellt HTTP-Inhalt auf Grundlage von einem Bytearray bereit.

CFNetworkHandler
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 Empfangen von HTTP-Antworten aus einer Ressource bereit, die von einem 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.

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

The exception thrown when an HTTP/2 or an HTTP/3 protocol error occurs.

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 Sammlung von Optionen für eine HTTP-Anforderung dar.

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.

NSUrlSessionHandler

Der Standardmeldungshandler, der von HttpClient auf Apple-Plattformen unter Verwendung des Xamarin-Stapels verwendet wird (iOS, macOS, watchOS, tvOS)

ReadOnlyMemoryContent

Stellt HTTP-Inhalt auf der Grundlage von ReadOnlyMemory<T> bereit.

RtcRequestFactory
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

Behandelt 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 Optionssammlung 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.

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 soll Folgendes bereitstellen:

  1. Http-Client Komponenten, die es Benutzern ermöglichen, moderne Webdienste über HTTP zu verwenden.

  2. Http-Komponenten, die sowohl von Clients als auch von Servern (z. b. HTTP-Header und-Nachrichten) verwendet werden können. Dadurch wird sowohl auf dem Client als auch auf der Serverseite für moderne Webdienste über HTTP ein konsistentes Programmiermodell bereitstellt.

Der System.Net.Http -Namespace und der zugehörige- System.Net.Http.Headers Namespace stellen die folgenden Komponenten bereit:

  1. HttpClient : die primäre Klasse, die zum Senden und empfangen von Anforderungen über HTTP verwendet wird.

  2. HttpRequestMessage und HttpResponseMessage -http-Nachrichten, wie in RFC 2616 durch IETF definiert.

  3. HttpHeaders -HTTP-Header gemäß Definition in RFC 2616 durch IETF.

  4. HttpClientHandler -HTTP-Handler für das Erstellen von HTTP-Antwort Nachrichten.

Es gibt verschiedene HTTP-Nachrichten Handler, die verwendet werden können. Hierzu gehören die folgenden.

  1. DelegatingHandler -Eine Klasse, die zum Einbinden eines Handlers in eine handlerkette verwendet wird.

  2. HttpMessageHandler -Eine einfache Klasse, von der abgeleitet werden muss, die die gängigsten Anforderungen für die meisten Anwendungen unterstützt.

  3. HttpClientHandler -Eine Klasse, die am unteren Rand der handlerkette operiert, die die http-Transportvorgänge tatsächlich verarbeitet.

  4. WebRequestHandler -Eine spezielle Klasse, die am unteren Rand der handlerketten-Klasse arbeitet und http-Transportvorgänge mit Optionen verarbeitet, die für das-Objekt spezifisch sind System.Net.HttpWebRequest .

Der Inhalt einer HTTP-Nachricht entspricht dem in RFC 2616 definierten Entitäts Text.

Für HTTP-Inhalte kann eine Reihe von Klassen verwendet werden. Hierzu gehören die folgenden.

  1. ByteArrayContent -HTTP-Inhalt, der auf einem Bytearray basiert.

  2. FormUrlEncodedContent -HTTP-Inhalt von Name-Wert-Tupeln, die mit dem MIME-Typ application/x-www-form-urlencoded codiert wurden.

  3. MultipartContent -HTTP-Inhalt, der mit der Multipart/*-Inhaltstyp Spezifikation serialisiert wird.

  4. MultipartFormDataContent -HTTP-Inhalt, der mit dem Multipart/Form-Data-MIME-Typ codiert ist.

  5. StreamContent -HTTP-Inhalt, der auf einem Stream basiert.

  6. StringContent -HTTP-Inhalt auf Grundlage einer Zeichenfolge.

Wenn eine APP, die den System.Net.Http -Namespace und den- System.Net.Http.Headers Namespace verwendet, große Datenmengen herunterladen will (50 Megabyte oder mehr), sollte die APP diese Downloads streamen und nicht die Standard Pufferung verwenden. Wenn die Standard Pufferung verwendet wird, wird die Speicherauslastung des Clients sehr groß, was möglicherweise zu einer erheblich geringeren Leistung führt.

Klassen in den System.Net.Http System.Net.Http.Headers Namespaces und können verwendet werden, um Windows Store-Apps oder Desktop-Apps zu entwickeln. Bei Verwendung in einer Windows Store-App sind Klassen in den System.Net.Http -und- System.Net.Http.Headers Namespaces von der Netzwerk Isolations Funktion betroffen, die Teil des Anwendungs Sicherheitsmodells ist, das von Windows 8 verwendet wird. Die entsprechenden Netzwerkfunktionen müssen im App-Manifest für eine Windows Store-App aktiviert sein, damit das System den Netzwerk Zugriff durch eine Windows Store-App zulässt. Weitere Informationen finden Sie unter Netzwerkisolation für Windows Store-Apps.

Siehe auch