System.Net.Http 命名空间  
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
为现代 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 | HttpClient 和 HttpMessageHandler 所引发的异常的基类。 | 
| 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 旨在提供以下内容:
- 允许用户通过 HTTP 使用新式 Web 服务的 HTTP 客户端组件。 
- 客户端和服务器都可以使用的 HTTP 组件 (HTTP 标头和消息,例如) 。 这为通过 HTTP 的新式 Web 服务在客户端和服务器端提供一致的编程模型。 
命名空间 System.Net.Http 和相关 System.Net.Http.Headers 命名空间提供以下组件集:
- HttpClient - 用于通过 HTTP 发送和接收请求的主类。 
- HttpRequestMessage 和 HttpResponseMessage - IETF 在 RFC 2616 中定义的 HTTP 消息。 
- HttpHeaders - 由 IETF 在 RFC 2616 中定义的 HTTP 标头。 
- HttpClientHandler - 负责生成 HTTP 响应消息的 HTTP 处理程序。 
可以使用各种 HTTP 消息处理程序。 这些组件包括:
- DelegatingHandler - 用于将处理程序插入处理程序链的类。 
- HttpMessageHandler - 从 派生的简单类,支持大多数应用程序的最常见要求。 
- HttpClientHandler - 在实际处理 HTTP 传输操作的处理程序链底部运行的类。 
- WebRequestHandler - 一个在处理程序链类底部操作的特殊类,该类使用特定于 System.Net.HttpWebRequest 对象的选项处理 HTTP 传输操作。 
HTTP 消息的内容对应于 RFC 2616 中定义的实体正文。
许多类可用于 HTTP 内容。 这些组件包括:
- ByteArrayContent - 基于字节数组的 HTTP 内容。 
- FormUrlEncodedContent - 使用 application/x-www-form-urlencoded MIME 类型编码的名称/值元组的 HTTP 内容。 
- MultipartContent - 使用 multipart/* 内容类型规范序列化的 HTTP 内容。 
- MultipartFormDataContent - 使用 multipart/form-data MIME 类型编码的 HTTP 内容。 
- StreamContent - 基于流的 HTTP 内容。 
- 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 应用的网络隔离。