System.Net.Http 命名空间

为现代 HTTP 应用程序提供一个编程接口。

ByteArrayContent

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

DelegatingHandler

将 HTTP 响应消息的处理委托给另一处理程序(称为“内部处理程序”)的 HTTP 处理程序的类型。

FormUrlEncodedContent

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

HttpClient

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

HttpClientFactoryExtensions

IHttpClientFactory 的扩展方法。

HttpClientHandler

.NET Framework 和 .NET Core 2.0 及更低版本中由 HttpClient 使用的默认消息处理程序。

HttpContent

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

HttpDiagnosticsHttpRequestMessageExtensions

遥测实用工具的扩展。

HttpIOException

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

HttpMessageHandler

HTTP 消息处理程序的基类。

HttpMessageHandlerFactoryExtensions

IHttpMessageHandlerFactory 的扩展方法。

HttpMessageInvoker

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

HttpMethod

一个帮助器类,它用于检索并比较标准 HTTP 方法并且用于创建新的 HTTP 方法。

HttpProtocolException

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

HttpRequestException

HttpClientHttpMessageHandler 所引发的异常的基类。

HttpRequestMessage

表示一条 HTTP 请求消息。

HttpRequestOptions

表示 HTTP 请求的选项集合。

HttpResilienceHttpRequestMessageExtensions

HttpRequestMessage复原扩展。

HttpResponseMessage

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

MessageProcessingHandler

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

MultipartContent

提供 HttpContent 对象的集合,其可通过使用多部分/* 内容类型规范序列化。

MultipartFormDataContent

为使用 multipart/form-data MIME 类型进行编码的内容提供容器。

ReadOnlyMemoryContent

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

RtcRequestFactory

为现代 HTTP 应用程序提供一个编程接口。

SocketsHttpConnectionContext

表示传递到 SocketsHttpHandler 实例的 ConnectCallback 的上下文。 .

SocketsHttpHandler

提供在 .NET Core 2.1 及更高版本中由 HttpClient 使用的默认消息处理程序。

SocketsHttpPlaintextStreamFilterContext

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

StreamContent

基于流提供 HTTP 内容。

StringContent

基于字符串提供 HTTP 内容。

WebRequestHandler

提供不可用于 Windows Store 应用程序或其他环境的特定以桌面的功能。

WinHttpHandler

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

结构

HttpRequestOptionsKey<TValue>

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

接口

IHttpClientFactory

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

IHttpMessageHandlerFactory

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

枚举

ClientCertificateOption

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

CookieUsePolicy

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

HttpCompletionOption

指示 HttpClient 操作是在响应可利用时立即视为已完成,还是在读取包含上下文的整个答案信息之后才视为已完成。

HttpKeepAlivePingPolicy

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

HttpRequestError

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

HttpVersionPolicy

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

WindowsProxyUsePolicy

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

委托

HeaderEncodingSelector<TContext>

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

注解

命名空间 System.Net.Http 旨在提供以下内容:

  1. 允许用户通过 HTTP 使用新式 Web 服务的 HTTP 客户端组件。

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

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

  1. HttpClient - 用于通过 HTTP 发送和接收请求的主类。

  2. HttpRequestMessageHttpResponseMessage - IETF 在 RFC 2616 中定义的 HTTP 消息。

  3. HttpHeaders - 由 IETF 在 RFC 2616 中定义的 HTTP 标头。

  4. HttpClientHandler - 负责生成 HTTP 响应消息的 HTTP 处理程序。

可以使用各种 HTTP 消息处理程序。 这些组件包括:

  1. DelegatingHandler - 用于将处理程序插入处理程序链的类。

  2. HttpMessageHandler - 从 派生的简单类,支持大多数应用程序的最常见要求。

  3. HttpClientHandler - 在实际处理 HTTP 传输操作的处理程序链底部运行的类。

  4. WebRequestHandler - 一个在处理程序链类底部操作的特殊类,该类使用特定于 System.Net.HttpWebRequest 对象的选项处理 HTTP 传输操作。

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

许多类可用于 HTTP 内容。 这些组件包括:

  1. ByteArrayContent - 基于字节数组的 HTTP 内容。

  2. FormUrlEncodedContent - 使用 application/x-www-form-urlencoded MIME 类型编码的名称/值元组的 HTTP 内容。

  3. MultipartContent - 使用 multipart/* 内容类型规范序列化的 HTTP 内容。

  4. MultipartFormDataContent - 使用 multipart/form-data MIME 类型编码的 HTTP 内容。

  5. StreamContent - 基于流的 HTTP 内容。

  6. StringContent - 基于字符串的 HTTP 内容。

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

System.Net.Http.Headers 命名空间中的System.Net.Http类可用于开发 Windows 应用商店应用或桌面应用。 在 Windows 应用商店应用中使用 时, 和 System.Net.Http.Headers 命名空间中的System.Net.Http类会受到网络隔离功能的影响,该功能是Windows 8使用的应用程序安全模型的一部分。 必须在系统 Windows 应用商店应用的应用清单中启用相应的网络功能,以允许 Windows 应用商店应用进行网络访问。 有关详细信息,请参阅适用于 Windows Store 应用的网络隔离

另请参阅