System.Net.Http Przestrzeń nazw

Udostępnia interfejs programowania dla nowoczesnych aplikacji HTTP.

Klasy

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 zakodowany przy użyciu typu MIME z kodowaniem application/x-www-form-url.

HttpClient

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

HttpClientFactoryExtensions

Metody rozszerzeń dla programu IHttpClientFactory.

HttpClientHandler

Domyślna procedura obsługi komunikatów używana HttpClient w 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 narzędzi telemetrycznych.

HttpIOException

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

HttpMessageHandler

Podstawowy typ procedur obsługi komunikatów HTTP.

HttpMessageHandlerFactoryExtensions

Metody rozszerzeń dla programu IHttpMessageHandlerFactory.

HttpMessageInvoker

Specjalna klasa, która umożliwia aplikacjom wywoływanie metody w SendAsync(HttpRequestMessage, CancellationToken) łańcuchu 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 multipart/*.

MultipartFormDataContent

Udostępnia kontener do zawartości zakodowanej przy użyciu wieloczęściowego/typu MIME danych formularzy.

ReadOnlyMemoryContent

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

RtcRequestFactory

Udostępnia interfejs programowania dla nowoczesnych aplikacji HTTP.

SocketsHttpConnectionContext

Reprezentuje kontekst przekazany do ConnectCallbackSocketsHttpHandler wystąpienia. .

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 klasy 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 niedostępne dla aplikacji ze Sklepu Windows lub innych środowisk.

WinHttpHandler

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

Struktury

HttpRequestOptionsKey<TValue>

Reprezentuje klucz w kolekcji opcji dla żądania HTTP.

Interfejsy

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

ClientCertificateOption

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

CookieUsePolicy

To wyliczenie umożliwia kontrolowanie plików cookie HTTP podczas komunikacji z serwerem.

HttpCompletionOption

Wskazuje, czy HttpClient operacje powinny zostać uznane za ukończone, gdy tylko odpowiedź jest dostępna, lub po przeczytaniu całego komunikatu odpowiedzi, w tym zawartości.

HttpKeepAlivePingPolicy

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

HttpRequestError

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

HttpVersionPolicy

Określa zachowania dotyczące wybierania i negocjowania wersji protokołu HTTP dla żądania.

WindowsProxyUsePolicy

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

Delegaci

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 elementów:

  1. Składniki klienta HTTP, które umożliwiają użytkownikom korzystanie z nowoczesnych usług internetowych za pośrednictwem protokołu HTTP.

  2. 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 udostępniają następujący zestaw składników:

  1. HttpClient — klasa podstawowa używana do wysyłania i odbierania żądań za pośrednictwem protokołu HTTP.

  2. HttpRequestMessage i HttpResponseMessage — komunikaty HTTP zdefiniowane w dokumencie RFC 2616 przez IETF.

  3. HttpHeaders - Nagłówki HTTP zdefiniowane w RFC 2616 przez IETF.

  4. 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ć. Należą do nich następujące elementy.

  1. DelegatingHandler - Klasa używana do podłączania procedury obsługi do łańcucha obsługi.

  2. HttpMessageHandler — Prosta klasa, która pochodzi z tej klasy, obsługuje najbardziej typowe wymagania dla większości aplikacji.

  3. HttpClientHandler - Klasa, która działa w dolnej części łańcucha obsługi, która rzeczywiście obsługuje operacje transportu HTTP.

  4. WebRequestHandler - Klasa specjalna, która działa w dolnej części klasy łańcucha obsługi, która obsługuje operacje transportu HTTP z opcjami specyficznymi dla System.Net.HttpWebRequest obiektu.

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

Do obsługi zawartości HTTP można użyć wielu klas. Należą do nich następujące elementy.

  1. ByteArrayContent - Zawartość HTTP oparta na tablicy bajtów.

  2. FormUrlEncodedContent - Zawartość HTTP krotki nazwy/wartości zakodowana przy użyciu typu MIME z kodowaniem application/x-www-form-url.

  3. MultipartContent - Zawartość HTTP, która jest serializowana przy użyciu specyfikacji typu zawartości multipart/*.

  4. MultipartFormDataContent - Zawartość HTTP zakodowana przy użyciu wieloczęściowego/formularza-danych TYPU MIME.

  5. StreamContent - Zawartość HTTP oparta na strumieniu.

  6. StringContent - Zawartość HTTP oparta na ciągu.

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

Klasy w System.Net.Http przestrzeniach nazw i System.Net.Http.Headers mogą służyć do tworzenia aplikacji ze Sklepu Windows lub aplikacji klasycznych. W przypadku użycia w aplikacji ze Sklepu Windows klasy w System.Net.Http przestrzeniach nazw i System.Net.Http.Headers mają wpływ na funkcję izolacji sieci, część modelu zabezpieczeń aplikacji używanego przez Windows 8. Odpowiednie możliwości sieciowe muszą być włączone w manifeście aplikacji dla aplikacji ze Sklepu Windows dla systemu, aby umożliwić dostęp sieciowy przez aplikację ze sklepu Windows. Aby uzyskać więcej informacji, zobacz Izolacja sieci dla aplikacji ze Sklepu Windows.

Zobacz też