System.Net.Http Przestrzeń nazw
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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:
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 udostępniają 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 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ć. Należą do nich następujące elementy.
DelegatingHandler - Klasa używana do podłączania procedury 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 rzeczywiście obsługuje operacje transportu HTTP.
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.
ByteArrayContent - Zawartość HTTP oparta na tablicy bajtów.
FormUrlEncodedContent - Zawartość HTTP krotki nazwy/wartości zakodowana przy użyciu typu MIME z kodowaniem application/x-www-form-url.
MultipartContent - Zawartość HTTP, która jest serializowana przy użyciu specyfikacji typu zawartości multipart/*.
MultipartFormDataContent - Zawartość HTTP zakodowana przy użyciu wieloczęściowego/formularza-danych TYPU MIME.
StreamContent - Zawartość HTTP oparta na strumieniu.
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.