System.Net.Http 命名空间
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
为新式 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 命名空间提供以下一组组件:
- HttpClient - 用于通过 HTTP 发送和接收请求的主类。
- HttpRequestMessage 和 HttpResponseMessage - IETF 在 RFC 2616 中定义的 HTTP 消息。
- HttpHeaders - IETF 在 RFC 2616 中定义的 HTTP 标头。
- HttpClientHandler - 负责生成 HTTP 响应消息的 HTTP 处理程序。
可以使用各种 HTTP 消息处理程序:
- DelegatingHandler - 用于将处理程序插入处理程序链的类。
- HttpMessageHandler - 一个派生自的简单类,支持大多数应用程序的最常见要求。
- HttpClientHandler - 在实际处理 HTTP 传输操作的处理程序链底部运行的类。
HTTP 消息的内容对应于 RFC 2616 中定义的实体正文。
以下类可用于 HTTP 内容:
- ByteArrayContent - 基于字节数组的 HTTP 内容。
- FormUrlEncodedContent - 使用 application/x-www-form-urlencoded MIME 类型编码的名称/值元组的 HTTP 内容。
- MultipartContent - 使用多部分/* 内容类型规范序列化的 HTTP 内容。
- MultipartFormDataContent - 使用多部分/表单数据 MIME 类型编码的 HTTP 内容。
- StreamContent - 基于流的 HTTP 内容。
- StringContent - 基于字符串的 HTTP 内容。
如果你的应用使用 System.Net.Http 和 System.Net.Http.Headers 命名空间并打算下载大量数据(50 兆字节或更多),则应流式传输这些下载,而不使用默认缓冲。 如果使用默认缓冲,则客户端内存使用量将非常大,这可能会导致性能大幅降低。