Udostępnij za pośrednictwem


System.Net.Http Przestrzeń nazw

Udostępnia interfejs programowania dla nowoczesnych aplikacji HTTP.

Klasy

Nazwa Opis
ByteArrayContent

Udostępnia zawartość HTTP na podstawie tablicy bajtów.

DelegatingHandler

Typ procedur obsługi HTTP, które delegować przetwarzanie komunikatów odpowiedzi HTTP do innej procedury obsługi, nazywanej wewnętrzną procedurą obsługi.

FormUrlEncodedContent

Kontener dla krotki nazwy/wartości zakodowane przy użyciu typu MIME application/x-www-form-urlencoded.

HttpClient

Udostępnia klasę do wysyłania żądań HTTP i odbierania odpowiedzi HTTP z zasobu zidentyfikowanego przez identyfikator URI.

HttpClientFactoryExtensions

Metody rozszerzeń dla elementu IHttpClientFactory.

HttpClientHandler

Domyślna procedura obsługi komunikatów używana w HttpClient programach .NET Framework i .NET Core 2.0 i starszych.

HttpContent

Klasa bazowa reprezentująca treść jednostki HTTP i nagłówki zawartości.

HttpDiagnosticsHttpRequestMessageExtensions

Rozszerzenia dla narzędzi telemetrycznych.

HttpIOException

Wyjątek zgłaszany w przypadku wystąpienia błędu podczas odczytywania odpowiedzi.

HttpMessageHandler

Typ podstawowy obsługi komunikatów HTTP.

HttpMessageHandlerFactoryExtensions

Metody rozszerzeń dla elementu IHttpMessageHandlerFactory.

HttpMessageInvoker

Klasa specjalna, która umożliwia aplikacjom wywoływanie metody w łańcuchu SendAsync(HttpRequestMessage, CancellationToken) obsługi HTTP.

HttpMethod

Klasa pomocnika do pobierania i porównywania standardowych metod HTTP oraz tworzenia nowych metod HTTP.

HttpProtocolException

Wyjątek zgłaszany, gdy wystąpi błąd protokołu HTTP/2 lub HTTP/3.

HttpRequestException

Klasa bazowa dla wyjątków zgłaszanych przez HttpClient klasy i HttpMessageHandler .

HttpRequestMessage

Reprezentuje komunikat żądania HTTP.

HttpRequestOptions

Reprezentuje kolekcję opcji żądania HTTP.

HttpResilienceHttpRequestMessageExtensions

Rozszerzenia odporności dla programu HttpRequestMessage.

HttpResponseMessage

Reprezentuje komunikat odpowiedzi HTTP, w tym kod stanu i dane.

MessageProcessingHandler

Podstawowy typ procedur obsługi, które wykonują tylko małe przetwarzanie komunikatów żądań i/lub odpowiedzi.

MultipartContent

Udostępnia kolekcję HttpContent obiektów, które są serializowane przy użyciu specyfikacji typu zawartości wieloczęściowej/* .

MultipartFormDataContent

Udostępnia kontener dla zawartości zakodowanej przy użyciu wieloczęściowego/formularza-danych typu MIME.

ReadOnlyMemoryContent

Udostępnia zawartość HTTP na podstawie elementu ReadOnlyMemory<T>.

RtcRequestFactory

Udostępnia interfejs programowania dla nowoczesnych aplikacji HTTP.

SocketsHttpConnectionContext

Reprezentuje kontekst przekazany do ConnectCallback wystąpienia SocketsHttpHandler . .

SocketsHttpHandler

Udostępnia domyślną procedurę obsługi komunikatów używaną w HttpClient programie .NET Core 2.1 lub nowszym.

SocketsHttpPlaintextStreamFilterContext

Reprezentuje kontekst przekazany do elementu PlaintextStreamFilter dla wystąpienia SocketsHttpHandler.

StreamContent

Udostępnia zawartość HTTP na podstawie strumienia.

StringContent

Udostępnia zawartość HTTP na podstawie ciągu.

WebRequestHandler

Udostępnia funkcje specyficzne dla komputerów, które nie są dostępne dla aplikacji ze Sklepu Windows lub innych środowisk.

WinHttpHandler

Obsługuje komunikaty oparte na interfejsie WinHTTP systemu Windows. Ta klasa jest przeznaczona do użycia w środowiskach serwera.

Struktury

Nazwa Opis
HttpRequestOptionsKey<TValue>

Reprezentuje klucz w kolekcji opcji dla żądania HTTP.

Interfejsy

Nazwa Opis
IHttpClientFactory

Abstrakcja fabryki dla składnika, który może tworzyć HttpClient wystąpienia z konfiguracją niestandardową dla danej nazwy logicznej.

IHttpMessageHandlerFactory

Abstrakcja fabryki dla składnika, który może tworzyć HttpMessageHandler wystąpienia z konfiguracją niestandardową dla danej nazwy logicznej.

Wyliczenia

Nazwa Opis
ClientCertificateOption

Określa sposób zapewniania certyfikatów klienta.

CookieUsePolicy

To wyliczenie umożliwia sterowanie plikami cookie HTTP podczas komunikacji z serwerem.

HttpCompletionOption

Wskazuje, czy HttpClient operacje powinny zostać uznane za ukończone natychmiast po udostępnieniu odpowiedzi lub po przeczytaniu całego komunikatu odpowiedzi, w tym zawartości.

HttpKeepAlivePingPolicy

Określa, kiedy ramka http/2 ping jest wysyłana na bezczynne połączenie.

HttpRequestError

Definiuje kategorie błędów reprezentujące przyczynę HttpRequestException lub HttpIOException.

HttpVersionPolicy

Określa zachowania dotyczące wybierania i negocjowania wersji PROTOKOŁU HTTP dla żądania.

WindowsProxyUsePolicy

Ta wyliczenie zawiera dostępne opcje ustawień serwera proxy używanych przez HttpClient podczas uruchamiania w systemie Windows.

Delegaci

Nazwa Opis
HeaderEncodingSelector<TContext>

Reprezentuje metodę określającą kodowanie do użycia podczas interpretowania wartości nagłówka.

Uwagi

Przestrzeń nazw została zaprojektowana System.Net.Http w celu zapewnienia następujących składników:

  • Składniki klienta HTTP, które umożliwiają użytkownikom korzystanie z nowoczesnych usług internetowych za pośrednictwem protokołu HTTP.
  • Składniki HTTP, które mogą być używane zarówno przez klientów, jak i serwery (na przykład nagłówki HTTP i komunikaty). Zapewnia to spójny model programowania zarówno po stronie klienta, jak i serwera dla nowoczesnych usług internetowych za pośrednictwem protokołu HTTP.

System.Net.Http Przestrzeń nazw i powiązana System.Net.Http.Headers przestrzeń nazw zapewniają następujący zestaw składników:

  • HttpClient - Klasa podstawowa używana do wysyłania i odbierania żądań za pośrednictwem protokołu HTTP.
  • HttpRequestMessage i HttpResponseMessage — komunikaty HTTP zdefiniowane w dokumencie RFC 2616 przez IETF.
  • HttpHeaders - Nagłówki HTTP zdefiniowane w dokumencie RFC 2616 przez IETF.
  • HttpClientHandler - Programy obsługi HTTP odpowiedzialne za tworzenie komunikatów odpowiedzi HTTP.

Istnieją różne programy obsługi komunikatów HTTP, których można użyć:

  • DelegatingHandler - Klasa używana do podłączania programu obsługi do łańcucha obsługi.
  • HttpMessageHandler — Prosta klasa, która pochodzi z tej klasy, obsługuje najbardziej typowe wymagania dla większości aplikacji.
  • HttpClientHandler - Klasa, która działa w dolnej części łańcucha obsługi, która faktycznie obsługuje operacje transportu HTTP.

Zawartość komunikatu HTTP odpowiada treści jednostki zdefiniowanej w dokumencie RFC 2616.

Następujące klasy mogą służyć do obsługi zawartości HTTP:

  • ByteArrayContent - Zawartość HTTP oparta na tablicy bajtów.
  • FormUrlEncodedContent - Zawartość HTTP krotki nazwa/wartość zakodowana przy użyciu typu MIME application/x-www-form-urlencoded.
  • MultipartContent - Zawartość HTTP, która jest serializowana przy użyciu specyfikacji typu zawartości multipart/*.
  • MultipartFormDataContent - Zawartość HTTP zakodowana przy użyciu typu MIME danych wieloczęściowych/formularzy.
  • StreamContent - Zawartość HTTP oparta na strumieniu.
  • StringContent - Zawartość HTTP oparta na ciągu.

Jeśli aplikacja używa System.Net.Http przestrzeni nazw i System.Net.Http.Headers i zamierza pobrać duże ilości danych (50 megabajtów lub więcej), należy przesyłać strumieniowo te pliki do pobrania i nie używać buforowania domyślnego. Jeśli używasz buforowania domyślnego, użycie pamięci klienta będzie bardzo duże, co może spowodować znaczne zmniejszenie wydajności.

Zobacz też