Поделиться через


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

Предоставляет интерфейс программирования для современных приложений HTTP.

Классы

Имя Описание
ByteArrayContent

Предоставляет содержимое HTTP на основе массива байтов.

DelegatingHandler

Тип обработчиков HTTP, которые делегировать обработку сообщений HTTP-ответов другому обработчику, называемому внутренним обработчиком.

FormUrlEncodedContent

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

HttpClient

Предоставляет класс для отправки HTTP-запросов и получения HTTP-ответов из ресурса, определяемого URI.

HttpClientFactoryExtensions

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

HttpClientHandler

Обработчик сообщений по умолчанию, используемый HttpClient в .NET Framework и .NET Core 2.0 и более ранних версий.

HttpContent

Базовый класс, представляющий текст сущности HTTP и заголовки содержимого.

HttpDiagnosticsHttpRequestMessageExtensions

Расширения для служебных программ телеметрии.

HttpIOException

Исключение, которое возникает при возникновении ошибки при чтении ответа.

HttpMessageHandler

Базовый тип обработчиков сообщений HTTP.

HttpMessageHandlerFactoryExtensions

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

HttpMessageInvoker

Специальный класс, позволяющий приложениям вызывать SendAsync(HttpRequestMessage, CancellationToken) метод в цепочке обработчиков HTTP.

HttpMethod

Вспомогательный класс для получения и сравнения стандартных методов HTTP и создания новых методов HTTP.

HttpProtocolException

Исключение возникает при возникновении ошибки протокола HTTP/2 или HTTP/3.

HttpRequestException

Базовый класс для исключений, создаваемых и HttpMessageHandler классамиHttpClient.

HttpRequestMessage

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

HttpRequestOptions

Представляет коллекцию параметров HTTP-запроса.

HttpResilienceHttpRequestMessageExtensions

Расширения устойчивости для HttpRequestMessage.

HttpResponseMessage

Представляет сообщение HTTP-ответа, включая код состояния и данные.

MessageProcessingHandler

Базовый тип для обработчиков, которые выполняют только небольшую обработку запросов и /или ответных сообщений.

MultipartContent

Предоставляет коллекцию объектов, сериализованных с помощью спецификации HttpContent типа контента multipart/* .

MultipartFormDataContent

Предоставляет контейнер для содержимого, закодированного с помощью типа MIME с несколькими частями и формами.

ReadOnlyMemoryContent

Предоставляет содержимое HTTP на ReadOnlyMemory<T>основе .

RtcRequestFactory

Предоставляет интерфейс программирования для современных приложений HTTP.

SocketsHttpConnectionContext

Представляет контекст, переданный экземпляру ConnectCallbackSocketsHttpHandler . .

SocketsHttpHandler

Предоставляет обработчик сообщений по умолчанию, используемый HttpClient в .NET Core 2.1 и более поздних версий.

SocketsHttpPlaintextStreamFilterContext

Представляет контекст, переданный в plaintextStreamFilter для экземпляра SocketsHttpHandler.

StreamContent

Предоставляет содержимое HTTP на основе потока.

StringContent

Предоставляет содержимое HTTP на основе строки.

WebRequestHandler

Предоставляет функции для настольных компьютеров, недоступные для приложений Магазина Windows или других сред.

WinHttpHandler

Обрабатывает сообщения на основе интерфейса WinHTTP Windows. Этот класс предназначен для использования в серверных средах.

Структуры

Имя Описание
HttpRequestOptionsKey<TValue>

Представляет ключ в коллекции параметров для HTTP-запроса.

Интерфейсы

Имя Описание
IHttpClientFactory

Абстракция фабрики для компонента, который может создавать HttpClient экземпляры с настраиваемой конфигурацией для заданного логического имени.

IHttpMessageHandlerFactory

Абстракция фабрики для компонента, который может создавать HttpMessageHandler экземпляры с настраиваемой конфигурацией для заданного логического имени.

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

Имя Описание
ClientCertificateOption

Указывает, как предоставляются сертификаты клиента.

CookieUsePolicy

Это перечисление позволяет управлять файлами cookie HTTP при взаимодействии с сервером.

HttpCompletionOption

Указывает, следует ли считать HttpClient операции завершенными как только ответ будет доступен, либо после чтения всего сообщения ответа, включая содержимое.

HttpKeepAlivePingPolicy

Указывает, когда кадр связи HTTP/2 отправляется в неактивное подключение.

HttpRequestError

Определяет категории ошибок, представляющие причину HttpRequestException или HttpIOException.

HttpVersionPolicy

Задает поведение для выбора и согласования версии HTTP для запроса.

WindowsProxyUsePolicy

Это перечисление предоставляет доступные параметры прокси-сервера, используемые HttpClient при запуске в Windows.

Делегаты

Имя Описание
HeaderEncodingSelector<TContext>

Представляет метод, указывающий кодировку, используемую при интерпретации значений заголовков.

Комментарии

Пространство System.Net.Http имен предназначено для предоставления следующих компонентов:

  • Компоненты клиента HTTP, позволяющие пользователям использовать современные веб-службы по протоколу HTTP.
  • Компоненты HTTP, которые можно использовать как клиентами, так и серверами (например, заголовки и сообщения HTTP). Это обеспечивает согласованную модель программирования на стороне клиента и сервера для современных веб-служб по протоколу HTTP.

Пространство System.Net.Http имен и связанное System.Net.Http.Headers пространство имен предоставляют следующий набор компонентов:

  • HttpClient — Основной класс, используемый для отправки и получения запросов по протоколу HTTP.
  • HttpRequestMessage и HttpResponseMessage — HTTP-сообщения, определенные в RFC 2616 IETF.
  • HttpHeaders — заголовки HTTP, определенные в RFC 2616 IETF.
  • HttpClientHandler — обработчики HTTP, ответственные за создание сообщений HTTP-ответов.

Существуют различные обработчики сообщений HTTP, которые можно использовать:

  • DelegatingHandler — Класс, используемый для подключения обработчика к цепочке обработчика.
  • HttpMessageHandler — Простой класс, производный от этого, поддерживает наиболее распространенные требования для большинства приложений.
  • HttpClientHandler — Класс, работающий в нижней части цепочки обработчиков, который фактически обрабатывает операции транспорта HTTP.

Содержимое HTTP-сообщения соответствует тексту сущности, определенному в RFC 2616.

Для содержимого HTTP можно использовать следующие классы:

  • ByteArrayContent — содержимое HTTP на основе массива байтов.
  • FormUrlEncodedContent — HTTP-содержимое кортежей name/value, закодированных с помощью типа MIME application/x-www-form-urlencoded.
  • MultipartContent — HTTP-содержимое, сериализованное с помощью спецификации типа контента multipart/*.
  • MultipartFormDataContent — содержимое HTTP, закодированное с помощью типа MIME с несколькими частями или формами.
  • StreamContent — содержимое HTTP на основе потока.
  • StringContent — содержимое HTTP на основе строки.

Если приложение использует System.Net.Http пространства имен и System.Net.Http.Headers собирается скачать большие объемы данных (50 мегабайт или больше), то он должен передавать эти загрузки и не использовать буферизацию по умолчанию. Если вы используете буферизацию по умолчанию, использование памяти клиента будет очень большим, что может привести к значительно снижению производительности.

См. также раздел