System.Net.Http 命名空间

为新式 HTTP 应用程序提供编程接口。

类

名称 说明
BrotliCompressedContent

为新式 HTTP 应用程序提供编程接口。

ByteArrayContent

基于字节数组提供 HTTP 内容。

DelegatingHandler

HTTP 处理程序的类型,用于将 HTTP 响应消息的处理委托给另一个处理程序,称为内部处理程序。

FormUrlEncodedContent

使用 application/x-www-form-urlencoded MIME 类型编码的名称/值元组的容器。

GZipCompressedContent

为新式 HTTP 应用程序提供编程接口。

HttpClient

提供一个类,用于从 URI 标识的资源发送 HTTP 请求和接收 HTTP 响应。

HttpClientFactoryExtensions

的 IHttpClientFactory扩展方法。

HttpClientHandler

.NET Framework 中的 HttpClient 使用的默认消息处理程序。

HttpContent

表示 HTTP 实体正文和内容标头的基类。

HttpDiagnosticsHttpRequestMessageExtensions

遥测实用工具的扩展。

HttpIOException

读取响应时出错时引发的异常。

HttpMessageHandler

HTTP 消息处理程序的基类型。

HttpMessageHandlerFactoryExtensions

的 IHttpMessageHandlerFactory扩展方法。

HttpMessageInvoker

一个特殊类,允许应用程序在 HTTP 处理程序链上调用 SendAsync(HttpRequestMessage, CancellationToken) 该方法。

HttpMethod

用于检索和比较标准 HTTP 方法以及创建新的 HTTP 方法的帮助程序类。

HttpProtocolException

发生 HTTP/2 或 HTTP/3 协议错误时引发的异常。

HttpRequestException

由和HttpClient类引发HttpMessageHandler的异常的基类。

HttpRequestMessage

表示 HTTP 请求消息。

HttpRequestOptions

表示 HTTP 请求的选项集合。

HttpResilienceHttpRequestMessageExtensions

的复原扩展 HttpRequestMessage。

HttpResponseMessage

表示 HTTP 响应消息,包括状态代码和数据。

MessageProcessingHandler

处理程序的基类型,仅对请求和/或响应消息执行一些小型处理。

MultipartContent

提供使用多部分/* 内容类型规范进行序列化的对象集合 HttpContent 。

MultipartFormDataContent

为使用多部分/表单数据 MIME 类型进行编码的内容提供容器。

ReadOnlyMemoryContent

提供基于 . 的 ReadOnlyMemory<T>HTTP 内容。

RtcRequestFactory

为新式 HTTP 应用程序提供编程接口。

SocketsHttpConnectionContext

表示传递给实例的ConnectCallbackSocketsHttpHandler上下文。 。

SocketsHttpConnectionEvictionContext

为新式 HTTP 应用程序提供编程接口。

SocketsHttpHandler

提供由 HttpClient. 使用的默认消息处理程序。

SocketsHttpPlaintextStreamFilterContext

表示传递给 SocketsHttpHandler 实例的 PlaintextStreamFilter 的上下文。

StreamContent

基于流提供 HTTP 内容。

StringContent

基于字符串提供 HTTP 内容。

WebRequestHandler

提供不适用于 Windows 应用商店应用或其他环境的特定于桌面的功能。

WinHttpHandler

基于 Windows 的 WinHTTP 接口处理消息。 此类适用于服务器环境。

ZstandardCompressedContent

为新式 HTTP 应用程序提供编程接口。

结构

名称 说明
HttpRequestOptionsKey<TValue>

表示 HTTP 请求的选项集合中的键。

接口

名称 说明
IHttpClientFactory

组件的工厂抽象,可为给定逻辑名称创建 HttpClient 具有自定义配置的实例。

IHttpMessageHandlerFactory

组件的工厂抽象,可为给定逻辑名称创建 HttpMessageHandler 具有自定义配置的实例。

枚举

名称 说明
ClientCertificateOption

指定如何提供客户端证书。

CookieUsePolicy

此枚举允许在与服务器通信时控制 HTTP Cookie。

HttpCompletionOption

指示在响应可用或读取包含内容的整个响应消息后,是否应将 HttpClient 操作视为已完成。

HttpKeepAlivePingPolicy

指定在空闲连接上发送 HTTP/2 ping 帧的时间。

HttpRequestError

定义表示 HttpRequestException 或 HttpIOException原因的错误类别。

HttpVersionPolicy

指定用于选择和协商请求的 HTTP 版本的行为。

WindowsProxyUsePolicy

此枚举为在 Windows 上运行时由 HttpClient 使用的代理设置提供了可用选项。

委托

名称 说明
HeaderEncodingSelector<TContext>

表示一个方法,指定在解释标头值时要使用的编码。

注解

命名空间 System.Net.Http 旨在提供以下组件:

  • 允许用户通过 HTTP 使用新式 Web 服务的 HTTP 客户端组件。
  • 客户端和服务器可以使用的 HTTP 组件(例如 HTTP 标头和消息)。 这为通过 HTTP 的新式 Web 服务在客户端和服务器端提供了一致的编程模型。

命名空间 System.Net.Http 和相关 System.Net.Http.Headers 命名空间提供以下一组组件:

可以使用各种 HTTP 消息处理程序:

  • DelegatingHandler - 用于将处理程序插入处理程序链的类。
  • HttpMessageHandler - 一个派生自的简单类,支持大多数应用程序的最常见要求。
  • HttpClientHandler - 在实际处理 HTTP 传输操作的处理程序链底部运行的类。

HTTP 消息的内容对应于 RFC 2616 中定义的实体正文。

以下类可用于 HTTP 内容:

如果你的应用使用 System.Net.Http 和 System.Net.Http.Headers 命名空间并打算下载大量数据(50 兆字节或更多),则应流式传输这些下载,而不使用默认缓冲。 如果使用默认缓冲,则客户端内存使用量将非常大,这可能会导致性能大幅降低。

另请参阅