System.Net.Http Espace de noms

Fournit une interface de programmation pour les applications HTTP modernes.

Classes

ByteArrayContent

Fournit du contenu HTTP basé sur un tableau d'octets.

DelegatingHandler

Type pour les gestionnaires HTTP qui délèguent le traitement des messages de réponse HTTP à un autre gestionnaire, appelé le gestionnaire interne.

FormUrlEncodedContent

Conteneur pour les tuples nom/valeur encodés en utilisant le type MIME application/x-www-form-urlencoded.

HttpClient

Fournit une classe pour envoyer des requêtes HTTP et recevoir des réponses HTTP à partir d’une ressource identifiée par un URI.

HttpClientFactoryExtensions

Méthodes d’extension pour IHttpClientFactory.

HttpClientHandler

Gestionnaire de messages par défaut utilisé par HttpClient dans le .NET Framework et .NET Core 2.0 et antérieur.

HttpContent

Classe de base représentant un corps d'entité HTTP et des en-têtes de contenu.

HttpDiagnosticsHttpRequestMessageExtensions

Extensions pour les utilitaires de télémétrie.

HttpIOException

Exception levée lorsqu’une erreur se produit lors de la lecture de la réponse.

HttpMessageHandler

Type de base pour les gestionnaires de messages HTTP.

HttpMessageHandlerFactoryExtensions

Méthodes d’extension pour IHttpMessageHandlerFactory.

HttpMessageInvoker

Classe spécialisée qui permet aux applications d’appeler la méthode SendAsync(HttpRequestMessage, CancellationToken) sur une chaîne de gestionnaire HTTP.

HttpMethod

Classe d'assistance pour récupérer et comparer les méthodes HTTP standard et pour créer de nouvelles méthodes HTTP.

HttpProtocolException

Exception levée lorsqu’une erreur de protocole HTTP/2 ou HTTP/3 se produit.

HttpRequestException

Classe de base pour les exceptions levées par les classes HttpClient et HttpMessageHandler .

HttpRequestMessage

Représente un message de requête HTTP.

HttpRequestOptions

Représente une collection d’options pour une requête HTTP.

HttpResilienceHttpRequestMessageExtensions

Extensions de résilience pour HttpRequestMessage.

HttpResponseMessage

Représente un message de réponse HTTP avec le code et les données d'état.

MessageProcessingHandler

Type de base pour les gestionnaires qui n'exécutent qu'une petite partie du traitement des messages de requête et/ou de réponse.

MultipartContent

Fournit une collection d'objets HttpContent qui sont sérialisés à l'aide de la spécification de type de contenu multipart/*.

MultipartFormDataContent

Fournit un conteneur pour le contenu codé à l'aide du type MIME multipart/form-data.

ReadOnlyMemoryContent

Fournit du contenu HTTP basé sur un ReadOnlyMemory<T>.

RtcRequestFactory

Fournit une interface de programmation pour les applications HTTP modernes.

SocketsHttpConnectionContext

Représente le contexte passé à ConnectCallback pour une instance SocketsHttpHandler. .

SocketsHttpHandler

Fournit le Gestionnaire de messages par défaut utilisé par HttpClient dans .NET Core 2.1 et ultérieur.

SocketsHttpPlaintextStreamFilterContext

Représente le contexte passé à PlaintextStreamFilter pour un instance SocketsHttpHandler.

StreamContent

Fournit du contenu HTTP basé sur un flux.

StringContent

Fournit du contenu HTTP basé sur une chaîne.

WebRequestHandler

Fournit les fonctionnalités spécifiques au bureau non disponibles pour les applications Windows Store ou d'autres environnements.

WinHttpHandler

Gère les messages en fonction de l’interface WinHTTP de Windows. Cette classe est destinée à être utilisée dans les environnements serveur.

Structures

HttpRequestOptionsKey<TValue>

Représente une clé dans la collection d’options d’une requête HTTP.

Interfaces

IHttpClientFactory

Abstraction de fabrique pour un composant qui peut créer des instances HttpClient avec une configuration personnalisée pour un nom logique donné.

IHttpMessageHandlerFactory

Abstraction de fabrique pour un composant qui peut créer des instances HttpMessageHandler avec une configuration personnalisée pour un nom logique donné.

Énumérations

ClientCertificateOption

Spécifie la façon dont les certificats clients sont fournis.

CookieUsePolicy

Cette énumération permet de contrôler les cookies HTTP lors de communications avec le serveur.

HttpCompletionOption

Indique si les opérations HttpClient doivent être considérées comme étant terminées dès qu'une réponse est disponible, ou après avoir pris connaissance de l'intégralité du message de réponse intégrant le contenu.

HttpKeepAlivePingPolicy

Spécifie le moment où la trame Ping HTTP/2 est envoyée sur une connexion inactive.

HttpRequestError

Définit des catégories d’erreur représentant la raison de HttpRequestException ou HttpIOException.

HttpVersionPolicy

Spécifie les comportements de sélection et de négociation de la version HTTP d’une demande.

WindowsProxyUsePolicy

Cette énumération fournit les options disponibles pour les paramètres de proxy utilisés par un HttpClient lors de l’exécution sur Windows.

Délégués

HeaderEncodingSelector<TContext>

Représente une méthode qui spécifie l’encodage à utiliser lors de l’interprétation des valeurs d’en-tête.

Remarques

L’espace System.Net.Http de noms est conçu pour fournir les éléments suivants :

  1. Composants clients HTTP qui permettent aux utilisateurs de consommer des services web modernes via HTTP.

  2. Composants HTTP qui peuvent être utilisés à la fois par les clients et les serveurs (en-têtes et messages HTTP, par exemple). Cela fournit un modèle de programmation cohérent côté client et côté serveur pour les services web modernes via HTTP.

L’espace System.Net.Http de noms et l’espace de noms associé System.Net.Http.Headers fournissent l’ensemble de composants suivant :

  1. HttpClient - la classe primaire utilisée pour envoyer et recevoir des requêtes via HTTP.

  2. HttpRequestMessage et HttpResponseMessage - messages HTTP tels que définis dans RFC 2616 par l’IETF.

  3. HttpHeaders - En-têtes HTTP tels que définis dans la RFC 2616 par l’IETF.

  4. HttpClientHandler - Gestionnaires HTTP responsables de la production de messages de réponse HTTP.

Il existe différents gestionnaires de messages HTTP qui peuvent être utilisés. Elles incluent les suivantes :

  1. DelegatingHandler - Classe utilisée pour connecter un gestionnaire à une chaîne de gestionnaire.

  2. HttpMessageHandler - Une classe simple à dériver de qui prend en charge les exigences les plus courantes pour la plupart des applications.

  3. HttpClientHandler - Classe qui fonctionne au bas de la chaîne de gestionnaire qui gère en fait les opérations de transport HTTP.

  4. WebRequestHandler - Classe spécialisée qui fonctionne en bas de la classe de chaîne de gestionnaire qui gère les opérations de transport HTTP avec des options spécifiques à l’objet System.Net.HttpWebRequest .

Le contenu d’un message HTTP correspond au corps d’entité défini dans RFC 2616.

Plusieurs classes peuvent être utilisées pour le contenu HTTP. Elles incluent les suivantes :

  1. ByteArrayContent - Contenu HTTP basé sur un tableau d’octets.

  2. FormUrlEncodedContent - Contenu HTTP des tuples nom/valeur encodé à l’aide du type MIME application/x-www-form-urlencoded.

  3. MultipartContent - Contenu HTTP sérialisé à l’aide de la spécification de type de contenu multipart/*.

  4. MultipartFormDataContent - Contenu HTTP encodé à l’aide du type MIME multipart/form-data.

  5. StreamContent - Contenu HTTP basé sur un flux.

  6. StringContent - Contenu HTTP basé sur une chaîne.

Si une application utilisant les espaces de noms et System.Net.Http.Headers a l’intention System.Net.Http de télécharger de grandes quantités de données (50 mégaoctets ou plus), l’application doit diffuser ces téléchargements en continu et ne pas utiliser la mise en mémoire tampon par défaut. Si la mise en mémoire tampon par défaut est utilisée, l’utilisation de la mémoire client sera très importante, ce qui peut entraîner une réduction sensible des performances.

Les classes des espaces de System.Net.Http noms et System.Net.Http.Headers peuvent être utilisées pour développer des applications du Windows Store ou des applications de bureau. Lorsqu’elles sont utilisées dans une application du Windows Store, les classes des espaces de noms et System.Net.Http.Headers sont affectées par la System.Net.Http fonctionnalité d’isolation réseau, qui fait partie du modèle de sécurité d’application utilisé par le Windows 8. Les fonctionnalités réseau appropriées doivent être activées dans le manifeste d’une application du Windows Store pour le système afin d’autoriser l’accès réseau par une application du Windows Store. Pour plus d’informations, consultez Isolement réseau pour les applications du Windows Store.

Voir aussi