System.Net.Http Пространство имен
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Предоставляет интерфейс программирования для современных приложений HTTP.
Классы
ByteArrayContent |
Предоставляет содержимое HTTP на основе массива байтов. |
DelegatingHandler |
Тип для обработчиков HTTP-данных, которые делегируют обработку ответных сообщений HTTP другому обработчику, который называется внутренним обработчиком. |
FormUrlEncodedContent |
Контейнер для кортежей " имя-значение ", закодированных с помощью типа MIME application/x-www-form-urlencoded. |
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 |
Базовый класс для исключений, вызванных классами HttpClient и HttpMessageHandler. |
HttpRequestMessage |
Представляет сообщение HTTP-запроса. |
HttpRequestOptions |
Представляет коллекцию параметров для HTTP-запроса. |
HttpResilienceHttpRequestMessageExtensions |
Расширения устойчивости для HttpRequestMessage. |
HttpResponseMessage |
Представляет ответное сообщение HTTP, включая код и данные о состоянии. |
MessageProcessingHandler |
Базовый тип для обработчиков, которые выполняют определенную небольшую часть обработки запросов и ответных сообщений. |
MultipartContent |
Предоставляет коллекцию объектов HttpContent, которые сериализуются используя спецификацию типа содержимого multipart/*. |
MultipartFormDataContent |
Предоставляет контейнер для содержимого, закодированного с помощью типа MIME multipart/form-data. |
ReadOnlyMemoryContent |
Предоставляет содержимое HTTP на основе ReadOnlyMemory<T>. |
RtcRequestFactory |
Предоставляет интерфейс программирования для современных приложений HTTP. |
SocketsHttpConnectionContext |
Представляет контекст, передаваемый в ConnectCallback для экземпляра SocketsHttpHandler. . |
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 |
Определяет категории ошибок, представляющие причину или HttpRequestExceptionHttpIOException. |
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.
WebRequestHandler — Специализированный класс, работающий в нижней части класса цепочки обработчиков, который обрабатывает операции транспорта HTTP с параметрами, характерными для System.Net.HttpWebRequest объекта .
Содержимое HTTP-сообщения соответствует тексту сущности, определенной в RFC 2616.
Для содержимого HTTP можно использовать несколько классов. К ним относятся следующие.
ByteArrayContent — содержимое HTTP на основе массива байтов.
FormUrlEncodedContent — содержимое HTTP кортежей "имя-значение", закодированное с помощью типа MIME application/x-www-form-urlencoded.
MultipartContent — содержимое HTTP, которое сериализуется с помощью спецификации типа содержимого multipart/*.
MultipartFormDataContent — содержимое HTTP, закодированное с помощью типа MIME multipart/form-data.
StreamContent — содержимое HTTP на основе потока.
StringContent — содержимое HTTP на основе строки.
Если приложение, используюющее System.Net.Http пространства имен и System.Net.Http.Headers , собирается скачивать большие объемы данных (50 мб или более), приложение должно выполнять потоковую передачу этих загрузок и не использовать буферизацию по умолчанию. Если используется буферизация по умолчанию, использование памяти клиента будет очень большим, что может привести к значительному снижению производительности.
Классы в System.Net.Http пространствах имен и System.Net.Http.Headers можно использовать для разработки приложений Магазина Windows или классических приложений. При использовании в приложении Магазина Windows классы в System.Net.Http пространствах имен и System.Net.Http.Headers затрагиваются функцией сетевой изоляции, которая является частью модели безопасности приложений, используемой Windows 8. В манифесте приложения магазина Windows должны быть включены соответствующие сетевые возможности для системы, чтобы разрешить доступ к сети через приложение Магазина Windows. Дополнительные сведения см. в статье Сетевая изоляция для приложений Магазина Windows.