System.Net.Http Przestrzeń nazw

Przestrzeń nazw System.Net.Http udostępnia interfejs programowania dla nowoczesnych aplikacji HTTP. The System.Net.Http namespace provides a programming interface for modern HTTP applications.

Klasy

ByteArrayContent

Dostarcza zawartość HTTP w oparciu o tablicę bajtów.Provides HTTP content based on a byte array.

CFNetworkHandler
DelegatingHandler

Typ obsługi protokołu HTTP, który delegatuje przetwarzanie komunikatów odpowiedzi HTTP do innej procedury obsługi, nazywanej wewnętrzną obsługą.A type for HTTP handlers that delegate the processing of HTTP response messages to another handler, called the inner handler.

FormUrlEncodedContent

Kontener spójnych kolekcji nazwa/wartość zaszyfrowanych za pomocą aplikacji/wiadomości x-www-form-urlencoded typu MIME.A container for name/value tuples encoded using application/x-www-form-urlencoded MIME type.

HttpClient

Stanowi klasę bazową do wysyłania żądań HTTP i odbierania odpowiedzi HTTP z zasobu zidentyfikowanego z użyciem identyfikatora URI.Provides a base class for sending HTTP requests and receiving HTTP responses from a resource identified by a URI.

HttpClientFactoryExtensions

Metody rozszerzeń dla IHttpClientFactory.Extensions methods for IHttpClientFactory.

HttpClientHandler

Domyślna procedura obsługi komunikatów używana przez HttpClient w .NET Framework i .NET Core 2,0 i starszych.The default message handler used by HttpClient in .NET Framework and .NET Core 2.0 and earlier.

HttpContent

Klasa bazowa reprezentująca treść jednostki HTTP i nagłówków zawartości.A base class representing an HTTP entity body and content headers.

HttpMessageHandler

Podstawowy typ dla programów obsługi komunikatów HTTP.A base type for HTTP message handlers.

HttpMessageHandlerFactoryExtensions

Metody rozszerzeń dla IHttpMessageHandlerFactory.Extensions methods for IHttpMessageHandlerFactory.

HttpMessageInvoker

Klasa specjalistyczna, która umożliwia aplikacjom wywoływanie metody SendAsync(HttpRequestMessage, CancellationToken) w łańcuchu obsługi protokołu HTTP.A specialty class that allows applications to call the SendAsync(HttpRequestMessage, CancellationToken) method on an HTTP handler chain.

HttpMethod

Klasa pomocnika służąca do pobierania i porównywania standardowych metod HTTP oraz do tworzenia nowych metod HTTP.A helper class for retrieving and comparing standard HTTP methods and for creating new HTTP methods.

HttpRequestException

Klasa bazowa dla wyjątków zgłaszanych przez klasy HttpClient i HttpMessageHandler.A base class for exceptions thrown by the HttpClient and HttpMessageHandler classes.

HttpRequestMessage

Reprezentuje komunikat żądania HTTP.Represents a HTTP request message.

HttpResponseMessage

Reprezentuje komunikat odpowiedzi HTTP, w tym kod stanu i dane.Represents a HTTP response message including the status code and data.

MessageProcessingHandler

Podstawowy typ dla programów obsługi, który zapewnia tylko częściowe przetwarzanie komunikatów żądań i/lub odpowiedzi.A base type for handlers which only do some small processing of request and/or response messages.

MultipartContent

Dostarcza kolekcję obiektów HttpContent, które podlegają serializacji z użyciem specyfikacji typu multipart/*zawartości.Provides a collection of HttpContent objects that get serialized using the multipart/* content type specification.

MultipartFormDataContent

Dostarcza kontener dla zawartości zaszyfrowanej za pomocą typu wieloczęściowego/form-data MIME.Provides a container for content encoded using multipart/form-data MIME type.

NSUrlSessionHandler

Domyślna procedura obsługi komunikatów używana przez HttpClient na platformach firmy Apple przy użyciu stosu platformy Xamarin (iOS, macOS, systemu watchOS, systemu tvOS)The default message handler used by HttpClient on Apple platforms using the Xamarin stack (iOS, macOS, watchOS, tvOS)

ReadOnlyMemoryContent

Provides HTTP content based on a System.ReadOnlyMemory<System.Byte>.

RtcRequestFactory
SocketsHttpHandler

Udostępnia domyślną procedurę obsługi komunikatów używaną przez HttpClient w programie .NET Core 2,1 i nowszych.Provides the default message handler used by HttpClient in .NET Core 2.1 and later.

StreamContent

Dostarcza zawartość HTTP w oparciu o strumień.Provides HTTP content based on a stream.

StringContent

Dostarcza zawartość HTTP w oparciu o ciąg.Provides HTTP content based on a string.

WebRequestHandler

Program udostępnia funkcje specyficzne dla pulpitu, które nie są dostępne dla aplikacji ze sklepu Windows lub innych środowisk.Provides desktop-specific features not available to Windows Store apps or other environments.

WinHttpHandler

WinHttpHandler to specjalistyczny program obsługi komunikatów oparty na interfejsie WinHTTP systemu Windows i jest przeznaczony do użycia w środowiskach serwerów.WinHttpHandler is a specialty message handler based on the WinHTTP interface of Windows and is intended for use in server environments. Ta klasa jest również dostępna do użycia w aplikacjach klasycznych, instalując ją jako pakiet NuGet.This class is also available for use in Desktop apps by installing it as a NuGet package. Aby uzyskać więcej informacji na temat instalowania tej klasy do użycia w aplikacjach klasycznych, zobacz System .NET. http. WinHttpHandler.For more information about installing this class for use in Desktop apps, see System.Net.Http.WinHttpHandler.

Interfejsy

IHttpClientFactory

Abstrakcję fabryki dla składnika, który może tworzyć HttpClient wystąpienia z konfiguracją niestandardową dla danej nazwy logicznej.A factory abstraction for a component that can create HttpClient instances with custom configuration for a given logical name.

IHttpMessageHandlerFactory

Abstrakcję fabryki dla składnika, który może tworzyć HttpMessageHandler wystąpienia z konfiguracją niestandardową dla danej nazwy logicznej.A factory abstraction for a component that can create HttpMessageHandler instances with custom configuration for a given logical name.

Wyliczenia

ClientCertificateOption

Określa sposób zapewniania certyfikatów klienta.Specifies how client certificates are provided.

CookieUsePolicy

To Wyliczenie umożliwia kontrolę nad plikami cookie HTTP podczas komunikowania się z serwerem.This enumeration allows control of HTTP cookies when communicating with the server.

HttpCompletionOption

Wskazuje, czy operacje HttpClient należy traktować jako zakończone w momencie udostępnienia odpowiedzi czy po odczytaniu całej odpowiedzi, w tym zawartości.Indicates if HttpClient operations should be considered completed either as soon as a response is available, or after reading the entire response message including the content.

WindowsProxyUsePolicy

To Wyliczenie zawiera dostępne opcje dla ustawień serwera proxy używanych przez HttpClient w przypadku uruchamiania w systemie Windows.This enumeration provides available options for the proxy settings used by an HttpClient when running on Windows.

Uwagi

Przestrzeń nazw System.Net.Http została zaprojektowana tak, aby zapewnić następujące elementy:The System.Net.Http namespace is designed to provide the following:

  1. Składniki klienta HTTP, które umożliwiają użytkownikom korzystanie z nowoczesnych usług sieci Web za pośrednictwem protokołu HTTP.HTTP client components that allow users to consume modern web services over HTTP.

  2. Składniki HTTP, które mogą być używane przez klientów i serwery (na przykład nagłówki i komunikaty HTTP).HTTP components that can be used by both clients and servers (HTTP headers and messages, for example). Zapewnia to spójny model programowania zarówno na kliencie, jak i po stronie serwera dla nowoczesnych usług sieci Web za pośrednictwem protokołu HTTP.This provides a consistent programming model on both the client and the server side for modern web services over HTTP.

Przestrzeń nazw System.Net.Http i powiązana przestrzeń nazw System.Net.Http.Headers zapewniają następujący zestaw składników:The System.Net.Http namespace and the related System.Net.Http.Headers namespace provide the following set of components:

  1. HttpClient — Klasa podstawowa używana do wysyłania i odbierania żądań za pośrednictwem protokołu HTTP.HttpClient - the primary class used to send and receive requests over HTTP.

  2. HttpRequestMessage i HttpResponseMessage — komunikaty HTTP zgodnie z definicją w dokumencie RFC 2616 przez grupę IETF.HttpRequestMessage and HttpResponseMessage - HTTP messages as defined in RFC 2616 by the IETF.

  3. HttpHeaders — nagłówki HTTP zdefiniowane w RFC 2616 przez grupę IETF.HttpHeaders - HTTP headers as defined in RFC 2616 by the IETF.

  4. HttpClientHandler — obsługa protokołu HTTP odpowiedzialna za tworzenie komunikatów odpowiedzi HTTP.HttpClientHandler - HTTP handlers responsible for producing HTTP response messages.

Istnieją różne procedury obsługi komunikatów HTTP, które mogą być używane.There are various HTTP message handlers that can be used. Należą do nich następujące elementy:These include the following.

  1. DelegatingHandler — Klasa używana do podłączenia procedury obsługi do łańcucha obsługi.DelegatingHandler - A class used to plug a handler into a handler chain.

  2. HttpMessageHandler — prosta Klasa do pochodna, która obsługuje najbardziej typowe wymagania dotyczące większości aplikacji.HttpMessageHandler - A simple to class to derive from that supports the most common requirements for most applications.

  3. HttpClientHandler — Klasa, która działa w dolnej części łańcucha obsługi, który faktycznie obsługuje operacje transportu HTTP.HttpClientHandler - A class that operates at the bottom of the handler chain that actually handles the HTTP transport operations.

  4. WebRequestHandler — Specjalna klasa, która działa w dolnej części klasy łańcucha obsługi, która obsługuje operacje transportu HTTP z opcjami, które są specyficzne dla obiektu System.Net.HttpWebRequest.WebRequestHandler - A specialty class that operates at the bottom of the handler chain class that handles HTTP transport operations with options that are specific to the System.Net.HttpWebRequest object.

Zawartość wiadomości HTTP odpowiada treści jednostki zdefiniowanej w dokumencie RFC 2616.The contents of an HTTP message corresponds to the entity body defined in RFC 2616.

Do zawartości HTTP można używać kilku klas.A number of classes can be used for HTTP content. Należą do nich następujące elementy:These include the following.

  1. ByteArrayContent — zawartość HTTP oparta na tablicy bajtów.ByteArrayContent - HTTP content based on a byte array.

  2. FormUrlEncodedContent — zawartość HTTP krotek nazwa/wartość zakodowana przy użyciu typu MIME application/x-www-form-urlencoded.FormUrlEncodedContent - HTTP content of name/value tuples encoded using application/x-www-form-urlencoded MIME type.

  3. MultipartContent — zawartość HTTP, która uzyskuje serializacji przy użyciu wieloczęściowego/* specyfikacji typu zawartości.MultipartContent - HTTP content that gets serialized using the multipart/* content type specification.

  4. MultipartFormDataContent — zawartość HTTP zakodowana przy użyciu wieloczęściowego typu MIME/form-Data.MultipartFormDataContent - HTTP content encoded using the multipart/form-data MIME type.

  5. StreamContent — zawartość HTTP oparta na strumieniu.StreamContent - HTTP content based on a stream.

  6. StringContent — zawartość HTTP na podstawie ciągu.StringContent - HTTP content based on a string.

Jeśli aplikacja korzystająca z przestrzeni nazw System.Net.Http 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.If an app using the System.Net.Http and System.Net.Http.Headers namespaces intends to download large amounts of data (50 megabytes or more), then the app should stream those downloads and not use the default buffering. Jeśli domyślne buforowanie jest używane, użycie pamięci przez klienta będzie bardzo duże, co może znacznie zmniejszyć wydajność.If the default buffering is used the client memory usage will get very large, potentially resulting in substantially reduced performance.

Klasy z przestrzeni nazw System.Net.Http i System.Net.Http.Headers mogą służyć do tworzenia aplikacji do sklepu Windows lub aplikacji klasycznych.Classes in the System.Net.Http and System.Net.Http.Headers namespaces can be used to develop Windows Store apps or desktop apps. W przypadku użycia w aplikacji ze sklepu Windows klasy w przestrzeniach nazw System.Net.Http i System.Net.Http.Headers mają wpływ na funkcję izolacji sieci, która jest częścią modelu zabezpieczeń aplikacji używanego przez Windows 8Windows 8.When used in a Windows Store app, classes in the System.Net.Http and System.Net.Http.Headers namespaces are affected by network isolation feature, part of the application security model used by the Windows 8Windows 8. Odpowiednie możliwości sieci muszą być włączone w manifeście aplikacji dla aplikacji ze sklepu Windows dla systemu, aby umożliwić dostęp do sieci za pomocą aplikacji ze sklepu Windows.The appropriate network capabilities must be enabled in the app manifest for a Windows Store app for the system to allow network access by a Windows store app. Aby uzyskać więcej informacji, zobacz izolacja sieci dla aplikacji ze sklepu Windows.For more information, see the Network Isolation for Windows Store Apps.

Zobacz też