HttpClientHandler 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
.NET Framework 和 .NET Core 2.0 及更低版本中由 HttpClient 使用的默认消息处理程序。
public ref class HttpClientHandler : System::Net::Http::HttpMessageHandler
public class HttpClientHandler : System.Net.Http.HttpMessageHandler
type HttpClientHandler = class
inherit HttpMessageHandler
Public Class HttpClientHandler
Inherits HttpMessageHandler
- 继承
- 派生
示例
static async Task Main()
{
// Create an HttpClientHandler object and set to use default credentials
HttpClientHandler handler = new HttpClientHandler();
handler.UseDefaultCredentials = true;
// Create an HttpClient object
HttpClient client = new HttpClient(handler);
// Call asynchronous network methods in a try/catch block to handle exceptions
try
{
HttpResponseMessage response = await client.GetAsync("http://www.contoso.com/");
response.EnsureSuccessStatusCode();
string responseBody = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseBody);
}
catch(HttpRequestException e)
{
Console.WriteLine("\nException Caught!");
Console.WriteLine("Message :{0} ",e.Message);
}
// Need to call dispose on the HttpClient and HttpClientHandler objects
// when done using them, so the app doesn't leak resources
handler.Dispose();
client.Dispose();
}
注解
有关此 API 的详细信息,请参阅 HttpClientHandler 的补充 API 说明。
构造函数
HttpClientHandler() |
创建 HttpClientHandler 类的实例。 |
属性
AllowAutoRedirect |
获取或设置一个值,该值指示处理程序是否应跟随重定向响应。 |
AutomaticDecompression |
获取或设置处理程序用于自动解压缩 HTTP 内容响应的解压缩方法类型。 |
CheckCertificateRevocationList |
获取或设置一个值,该值指示是否根据证书颁发机构吊销列表检查证书。 |
ClientCertificateOptions |
获取或设置一个值,该值指示是否从证书存储自动挑选证书,或者是否允许调用方通过特定的客户端证书。 |
ClientCertificates |
获取与服务器请求关联的安全证书的集合。 |
CookieContainer |
获取或设置用于通过处理程序存储服务器 Cookie 的 Cookie 容器。 |
Credentials |
获取或设置此处理程序使用的身份验证信息。 |
DangerousAcceptAnyServerCertificateValidator |
获取始终返回 |
DefaultProxyCredentials |
使用默认(系统)代理时,获取或设置要提交到默认代理服务器进行身份验证的凭据。 只有在 UseProxy 设置为 |
MaxAutomaticRedirections |
获取或设置处理程序遵循的重定向的最大数目。 |
MaxConnectionsPerServer |
获取或设置使用 HttpClient 对象发出请求时允许的最大并发连接数(每个服务器终结点)。 请注意,该限制针对每个服务器终结点,例如,值为 256 表示允许 256 个到 http://www.adatum.com/ 的并发连接,以及另外 256 个到 http://www.adventure-works.com/ 的并发连接。 |
MaxRequestContentBufferSize |
获取或设置处理程序使用的最大请求内容缓冲区大小。 |
MaxResponseHeadersLength |
获取或设置响应标头的最大长度,以千字节(1024 字节)为单位。 例如,如果该值为 64,那么允许的最大响应标头长度为 65536 字节。 |
MeterFactory |
获取或设置 IMeterFactory 用于为实例创建自定义 Meter 的 HttpClientHandler 。 |
PreAuthenticate |
获取或设置一个值,该值指示处理程序是否随请求发送授权标头。 |
Properties |
获取 HttpClient 的自定义属性的可写字典(即地图)。 初始字典为空;可以为自定义处理程序和特殊处理插入和查询键值对。 |
Proxy |
获取或设置处理程序使用的代理信息。 |
ServerCertificateCustomValidationCallback |
获取或设置用于验证服务器证书的回调方法。 |
SslProtocols |
获取或设置 HttpClientHandler 对象管理的 HttpClient 对象所用的 TLS/SSL 协议。 |
SupportsAutomaticDecompression |
获取一个值,该值指示处理程序是否支持自动响应内容解压缩。 |
SupportsProxy |
获取一个值,该值指示处理程序是否支持代理设置。 |
SupportsRedirectConfiguration |
获取一个值,该值表示处理程序是否支持 AllowAutoRedirect 和 MaxAutomaticRedirections 属性的配置设置。 |
UseCookies |
获取或设置一个值,该值指示处理程序是否使用 CookieContainer 属性来存储服务器 Cookie,并在发送请求时使用这些 Cookie。 |
UseDefaultCredentials |
获取或设置一个值,该值控制处理程序是否随请求一起发送默认凭据。 |
UseProxy |
获取或设置一个值,该值表示处理程序是否对请求使用代理。 |
方法
Dispose() |
释放由 HttpMessageHandler 使用的非托管资源和托管资源。 (继承自 HttpMessageHandler) |
Dispose(Boolean) |
释放由 HttpClientHandler 使用的非托管资源,并可根据需要释放托管资源。 |
Equals(Object) |
确定指定对象是否等于当前对象。 (继承自 Object) |
GetHashCode() |
作为默认哈希函数。 (继承自 Object) |
GetType() |
获取当前实例的 Type。 (继承自 Object) |
MemberwiseClone() |
创建当前 Object 的浅表副本。 (继承自 Object) |
Send(HttpRequestMessage, CancellationToken) |
基于 中HttpRequestMessage提供的信息创建 的实例HttpResponseMessage。 |
Send(HttpRequestMessage, CancellationToken) |
在派生类中被重写时,发送带有指定请求和取消标记的 HTTP 请求。 否则,将引发 NotSupportedException。 (继承自 HttpMessageHandler) |
SendAsync(HttpRequestMessage, CancellationToken) |
基于 中HttpRequestMessage提供的信息创建 实例HttpResponseMessage,作为不会阻止的操作。 |
ToString() |
返回表示当前对象的字符串。 (继承自 Object) |