System.Net.Http Пространство имен

Пространство имен System.Net.Http обеспечивает интерфейс программирования для современных приложений HTTP. The System.Net.Http namespace provides a programming interface for modern HTTP applications.

Классы

ByteArrayContent

Предоставляет содержимое HTTP на основе массива байтов.Provides HTTP content based on a byte array.

CFNetworkHandler
DelegatingHandler

Тип для обработчиков HTTP-данных, которые делегируют обработку ответных сообщений HTTP другому обработчику, который называется внутренним обработчиком.A type for HTTP handlers that delegate the processing of HTTP response messages to another handler, called the inner handler.

FormUrlEncodedContent

Контейнер для кортежей " имя-значение ", закодированных с помощью типа MIME application/x-www-form-urlencoded.A container for name/value tuples encoded using application/x-www-form-urlencoded MIME type.

HttpClient

Предоставляет базовый класс для отправки HTTP-запросов и получения HTTP-ответов от ресурса с заданным URI.Provides a base class for sending HTTP requests and receiving HTTP responses from a resource identified by a URI.

HttpClientFactoryExtensions

Методы расширения для IHttpClientFactory.Extensions methods for IHttpClientFactory.

HttpClientHandler

Обработчик сообщений по умолчанию, используемый HttpClient в .NET Framework и .NET Core 2.0 и более ранней версии.The default message handler used by HttpClient in .NET Framework and .NET Core 2.0 and earlier.

HttpContent

Базовый класс, представляющий заголовки содержимого и тело сущности HTTP.A base class representing an HTTP entity body and content headers.

HttpMessageHandler

Базовый тип обработчиков сообщений HTTP.A base type for HTTP message handlers.

HttpMessageHandlerFactoryExtensions

Методы расширения для IHttpMessageHandlerFactory.Extensions methods for IHttpMessageHandlerFactory.

HttpMessageInvoker

Специальный класс, который позволяет приложениям вызывать метод SendAsync(HttpRequestMessage, CancellationToken) в цепочке обработчика HTTP.A specialty class that allows applications to call the SendAsync(HttpRequestMessage, CancellationToken) method on an HTTP handler chain.

HttpMethod

Вспомогательный класс для получения и сравнения стандартных методов HTTP и создания новых методов HTTP.A helper class for retrieving and comparing standard HTTP methods and for creating new HTTP methods.

HttpRequestException

Базовый класс для исключений, вызванных классами HttpClient и HttpMessageHandler.A base class for exceptions thrown by the HttpClient and HttpMessageHandler classes.

HttpRequestMessage

Представляет сообщение HTTP-запроса.Represents a HTTP request message.

HttpResponseMessage

Представляет ответное сообщение HTTP, включая код и данные о состоянии.Represents a HTTP response message including the status code and data.

MessageProcessingHandler

Базовый тип для обработчиков, которые выполняют определенную небольшую часть обработки запросов и ответных сообщений.A base type for handlers which only do some small processing of request and/or response messages.

MultipartContent

Предоставляет коллекцию объектов HttpContent, которые сериализуются используя спецификацию типа содержимого multipart/*.Provides a collection of HttpContent objects that get serialized using the multipart/* content type specification.

MultipartFormDataContent

Предоставляет контейнер для закодированного с помощью типа MIME "multipart/form-data" содержимого.Provides a container for content encoded using multipart/form-data MIME type.

NSUrlSessionHandler

Обработчик сообщений по умолчанию, используемый HttpClient на платформах Apple с помощью стека Xamarin (iOS, macOS, watchOS, tvOS)The default message handler used by HttpClient on Apple platforms using the Xamarin stack (iOS, macOS, watchOS, tvOS)

ReadOnlyMemoryContent
RtcRequestFactory
SocketsHttpHandler

Предоставляет обработчик сообщений по умолчанию, используемый HttpClient в .NET Core 2.1 и более поздних версиях.Provides the default message handler used by HttpClient in .NET Core 2.1 and later.

StreamContent

Предоставляет содержимое HTTP на основе потока.Provides HTTP content based on a stream.

StringContent

Предоставляет содержимое HTTP на основе строки.Provides HTTP content based on a string.

WebRequestHandler

Предоставляет функции настольной системы, недоступные для приложений для Магазина Windows или других сред.Provides desktop-specific features not available to Windows Store apps or other environments.

WinHttpHandler

WinHttpHandler является специальным обработчиком сообщений на основе интерфейса WinHTTP в Windows и предназначен для работы в серверных средах.WinHttpHandler is a specialty message handler based on the WinHTTP interface of Windows and is intended for use in server environments. Этот класс также можно использовать в классических приложениях, установив его в виде пакета NuGet.This class is also available for use in Desktop apps by installing it as a NuGet package. Дополнительные сведения об установке этого класса для использования в классических приложениях см. в разделе System.Net.Http.WinHttpHandler.For more information about installing this class for use in Desktop apps, see System.Net.Http.WinHttpHandler.

Интерфейсы

IHttpClientFactory

Абстракция фабрики для компонента, который может создавать экземпляры HttpClient с пользовательской конфигурацией для заданного логического имени.A factory abstraction for a component that can create HttpClient instances with custom configuration for a given logical name.

IHttpMessageHandlerFactory

Абстракция фабрики для компонента, который может создавать экземпляры HttpMessageHandler с пользовательской конфигурацией для заданного логического имени.A factory abstraction for a component that can create HttpMessageHandler instances with custom configuration for a given logical name.

Перечисления

ClientCertificateOption

Определяет способ предоставления клиентских сертификатов.Specifies how client certificates are provided.

CookieUsePolicy

Данное перечисление позволяет контролировать файлы cookie HTTP при обмене данными с сервером.This enumeration allows control of HTTP cookies when communicating with the server.

HttpCompletionOption

Указывает, должны ли операции HttpClient считаться завершенными, как только имеется отклик, или после чтения всего сообщения отклика, включая содержимое.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

Это перечисление предоставляет доступные параметры для параметров прокси-сервера, используемые HttpClient при работе в Windows.This enumeration provides available options for the proxy settings used by an HttpClient when running on Windows.

Комментарии

System.Net.Http Должна обеспечивать следующие пространства имен:The System.Net.Http namespace is designed to provide the following:

  1. Клиентские компоненты HTTP, которые позволяют пользователям использовать современные веб-службы по протоколу HTTP.HTTP client components that allow users to consume modern web services over HTTP.

  2. Компоненты HTTP, которые могут использоваться клиентами и серверами (заголовки HTTP и сообщения, например).HTTP components that can be used by both clients and servers (HTTP headers and messages, for example). Это обеспечивает согласованную модель программирования на стороне сервера и клиент для современных веб-служб по протоколу HTTP.This provides a consistent programming model on both the client and the server side for modern web services over HTTP.

System.Net.Http Пространства имен и в сопутствующих System.Net.Http.Headers пространства имен предоставляют набор таких компонентов:The System.Net.Http namespace and the related System.Net.Http.Headers namespace provide the following set of components:

  1. HttpClient — основной класс, используемый для отправки и получения запросов по протоколу HTTP.HttpClient - the primary class used to send and receive requests over HTTP.

  2. HttpRequestMessage и HttpResponseMessage -сообщения HTTP, как определено в RFC 2616 по IETF.HttpRequestMessage and HttpResponseMessage - HTTP messages as defined in RFC 2616 by the IETF.

  3. HttpHeaders -HTTP заголовки, как определено в RFC 2616 по IETF.HttpHeaders - HTTP headers as defined in RFC 2616 by the IETF.

  4. HttpClientHandler -HTTP обработчики, выпустившей сообщений ответов HTTP.HttpClientHandler - HTTP handlers responsible for producing HTTP response messages.

Существуют различные дескрипторы сообщения HTTP, которые могут использоваться.There are various HTTP message handles that can be used. К ним относятся следующие.These include the following.

  1. DelegatingHandler -Класс, используемый для подключения обработчика в цепочке обработчика.DelegatingHandler - A class used to plug a handler into a handler chain.

  2. HttpMessageHandler — Это простой класс для наследования, которая поддерживает наиболее распространенных требований для большинства приложений.HttpMessageHandler - A simple to class to derive from that supports the most common requirements for most applications.

  3. HttpClientHandler -Класс, который работает в нижней части цепочке обработчика, который в действительности обрабатывает HTTP-транспорта операций.HttpClientHandler - A class that operates at the bottom of the handler chain that actually handles the HTTP transport operations.

  4. WebRequestHandler — Специальный класс, который работает в нижней части цепочки класс обработчика, который обрабатывает HTTP-транспорта операций с параметрами, которые относятся к 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.

Содержимое HTTP-сообщения соответствует тело объекта, определенный в RFC 2616.The contents of an HTTP message corresponds to the entity body defined in RFC 2616.

Можно использовать ряд классов для содержимого HTTP.A number of classes can be used for HTTP content. К ним относятся следующие.These include the following.

  1. ByteArrayContent -Содержимое HTTP на основе массива байтов.ByteArrayContent - HTTP content based on a byte array.

  2. FormUrlEncodedContent -Содержимое HTTP кортежей имя/значение в кодировке с помощью application/x-www-формы-urlencoded типа MIME.FormUrlEncodedContent - HTTP content of name/value tuples encoded using application/x-www-form-urlencoded MIME type.

  3. MultipartContent -HTTP содержимое, которое сериализуется с помощью multipart / * спецификации типа содержимого.MultipartContent - HTTP content that gets serialized using the multipart/* content type specification.

  4. MultipartFormDataContent -Содержимое HTTP кодировке, с помощью типа MIME multipart/данные формы.MultipartFormDataContent - HTTP content encoded using the multipart/form-data MIME type.

  5. StreamContent -Содержимое HTTP на основе потока.StreamContent - HTTP content based on a stream.

  6. StringContent -Содержимое HTTP на основе строки.StringContent - HTTP content based on a string.

Если приложения с помощью System.Net.Http и System.Net.Http.Headers пространства имен планирует загрузки больших объемов данных (50 МБ или больше), а затем приложение необходимо потоковую передачу этих скачиваемых материалах и не использовать буферизацию, по умолчанию.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. Если буферизации по умолчанию используется использование памяти клиента получит очень большой, что может привести к большей части снижение производительности.If the default buffering is used the client memory usage will get very large, potentially resulting in substantially reduced performance.

Классы в System.Net.Http и System.Net.Http.Headers пространства имен можно использовать для разработки приложений Windows Store или классических приложений.Classes in the System.Net.Http and System.Net.Http.Headers namespaces can be used to develop Windows Store apps or desktop apps. При использовании в приложении Windows Store классы в System.Net.Http и System.Net.Http.Headers пространства имен затрагиваются функцией сетевой изоляции, часть модели безопасности приложения, используемые 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. Соответствующие сетевые возможности необходимо включить в манифесте приложения для приложения Windows Store для системы, чтобы разрешить доступ к сети, приложения для магазина 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. Дополнительные сведения см. в статье Сетевая изоляция для приложений Магазина Windows.For more information, see the Network Isolation for Windows Store Apps.

Дополнительно