你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

HttpClientOptions 类

public final class HttpClientOptions
extends ClientOptions

HttpClient常规配置选项。

HttpClient 实现可能不支持此类中的所有配置选项。

构造函数摘要

构造函数 说明
HttpClientOptions()

创建 HttpClientOptions 的新实例。

方法摘要

修饰符和类型 方法和描述
Configuration getConfiguration()

获取 将使用的配置存储 HttpClient

Duration getConnectTimeout()

获取要发送的请求的连接超时。

Duration getConnectionIdleTimeout()

获取空闲连接关闭前的持续时间。

Class<> getHttpClientProvider()

获取应用于构造 实例的HttpClient实现的类型HttpClientProvider

Integer getMaximumConnectionPoolSize()

获取基础 HTTP 客户端使用的最大连接池大小。

ProxyOptions getProxyOptions()

ProxyOptions获取 将使用的 HttpClient

Duration getReadTimeout()

获取读取服务器响应时使用的读取超时持续时间。

Duration getResponseTimeout()

获取等待服务器答复时使用的响应超时持续时间。

Duration getWriteTimeout()

获取要发送的请求的写入超时。

HttpClientOptions readTimeout(Duration readTimeout)

设置读取服务器响应时使用的读取超时持续时间。

HttpClientOptions responseTimeout(Duration responseTimeout)

设置等待服务器答复时使用的响应超时持续时间。

HttpClientOptions setApplicationId(String applicationId)

设置应用程序 ID。

HttpClientOptions setConfiguration(Configuration configuration)

设置 将使用的配置存储 HttpClient 区。

HttpClientOptions setConnectTimeout(Duration connectTimeout)

设置要发送的请求的连接超时。

HttpClientOptions setConnectionIdleTimeout(Duration connectionIdleTimeout)

设置空闲连接之前的持续时间。

HttpClientOptions setHeaders(Iterable<Header> headers)

设置 Header

HttpClientOptions setHttpClientProvider(Class<? extends HttpClientProvider> httpClientProvider)

设置应用于构造 实例的HttpClient实现类型HttpClientProvider

HttpClientOptions setMaximumConnectionPoolSize(Integer maximumConnectionPoolSize)

设置基础 HTTP 客户端使用的最大连接池大小。

HttpClientOptions setProxyOptions(ProxyOptions proxyOptions)

ProxyOptions设置 将使用的 HttpClient

HttpClientOptions setReadTimeout(Duration readTimeout)

设置读取服务器响应时使用的读取超时持续时间。

HttpClientOptions setResponseTimeout(Duration responseTimeout)

设置等待服务器答复时使用的响应超时持续时间。

HttpClientOptions setWriteTimeout(Duration writeTimeout)

设置要发送的请求的写入超时。

方法继承自 ClientOptions

方法继承自 java.lang.Object

构造函数详细信息

HttpClientOptions

public HttpClientOptions()

创建 HttpClientOptions 的新实例。

方法详细信息

getConfiguration

public Configuration getConfiguration()

获取 将使用的配置存储 HttpClient

Returns:

要使用的配置存储。

getConnectTimeout

public Duration getConnectTimeout()

获取要发送的请求的连接超时。

默认连接超时为 10 秒。

Returns:

要发送的请求的连接超时。

getConnectionIdleTimeout

public Duration getConnectionIdleTimeout()

获取空闲连接关闭前的持续时间。

默认连接空闲超时为 60 秒。

Returns:

连接空闲超时持续时间。

getHttpClientProvider

public Class getHttpClientProvider()

获取应用于构造 实例的HttpClient实现的类型HttpClientProvider

Returns:

HttpClientProvider用于创建 实例的HttpClient实现。

getMaximumConnectionPoolSize

public Integer getMaximumConnectionPoolSize()

获取基础 HTTP 客户端使用的最大连接池大小。

修改最大连接池大小可能会影响应用程序的性能。 增加最大连接池会导致应用程序可用的连接数更多,但可能会导致网络资源争用更多。 建议对不同的最大连接池大小执行性能分析,以便为应用程序找到正确的配置。

此最大连接池大小不是全局配置,而是使用此 HttpClientOptions创建的每个 HttpClient 的实例级配置。

默认的最大连接池大小由基础 HTTP 客户端确定。 将最大连接池大小设置为 null 会将配置重置为使用基础 HTTP 客户端确定的默认值。

Returns:

最大连接池大小。

getProxyOptions

public ProxyOptions getProxyOptions()

ProxyOptions获取 将使用的 HttpClient

Returns:

要使用的代理选项。

getReadTimeout

public Duration getReadTimeout()

获取读取服务器响应时使用的读取超时持续时间。

默认读取超时为 60 秒。

Returns:

读取超时持续时间。

getResponseTimeout

public Duration getResponseTimeout()

获取等待服务器答复时使用的响应超时持续时间。

默认响应超时为 60 秒。

Returns:

响应超时持续时间。

getWriteTimeout

public Duration getWriteTimeout()

获取要发送的请求的写入超时。

默认写入超时为 60 秒。

Returns:

要发送的请求的写入超时。

readTimeout

public HttpClientOptions readTimeout(Duration readTimeout)

设置读取服务器响应时使用的读取超时持续时间。

在收到服务器响应后触发第一次响应读取后,读取超时将开始。 此超时会定期触发,但如果另一个读取操作在超时触发到完成之间完成,则不会触发其操作。

如果 readTimeout 为 null, PROPERTY_AZURE_REQUEST_READ_TIMEOUT 则使用 60 秒超时,如果超时 Duration 小于或等于零,则不会对响应读取应用任何超时期限。 应用超时时,最大为 1 毫秒,将使用 的值 readTimeout

默认读取超时为 60 秒。

Parameters:

readTimeout - 读取超时持续时间。

Returns:

更新的 HttpClientOptions 对象。

responseTimeout

public HttpClientOptions responseTimeout(Duration responseTimeout)

设置等待服务器答复时使用的响应超时持续时间。

响应超时在请求写入完成后开始,并在收到服务器响应时触发第一个响应读取后完成。

如果 responseTimeout 为 null, PROPERTY_AZURE_REQUEST_RESPONSE_TIMEOUT 或者将使用 60 秒超时,如果小于 Duration 或等于零,则不会对响应应用任何超时。 应用超时时,最大为 1 毫秒,将使用 的值 responseTimeout

默认响应超时为 60 秒。

Parameters:

responseTimeout - 响应超时持续时间。

Returns:

更新的 HttpClientOptions 对象。

setApplicationId

public HttpClientOptions setApplicationId(String applicationId)

设置应用程序 ID。

applicationId用于配置UserAgentPolicy遥测/监视目的。

有关其他信息 ,请参阅 Azure 核心:遥测策略

示例代码

创建具有应用程序 ID“myApplicationId”的 ClientOptions

ClientOptions clientOptions = new ClientOptions()
     .setApplicationId("myApplicationId");

Overrides:

HttpClientOptions.setApplicationId(String applicationId)

Parameters:

applicationId

setConfiguration

public HttpClientOptions setConfiguration(Configuration configuration)

设置 将使用的配置存储 HttpClient 区。

Parameters:

configuration - 要使用的配置存储区。

Returns:

更新的 HttpClientOptions 对象。

setConnectTimeout

public HttpClientOptions setConnectTimeout(Duration connectTimeout)

设置要发送的请求的连接超时。

连接超时在请求尝试连接到远程主机后开始,并在解析连接时结束。

如果 connectTimeout 为 null, PROPERTY_AZURE_REQUEST_CONNECT_TIMEOUT 或者将使用 10 秒超时,如果小于 Duration 或等于零,则不会应用任何超时。 应用超时时,最大为 1 毫秒,将使用 的值 connectTimeout

默认连接超时为 10 秒。

Parameters:

connectTimeout - 连接超时持续时间。

Returns:

更新的 HttpClientOptions 对象。

setConnectionIdleTimeout

public HttpClientOptions setConnectionIdleTimeout(Duration connectionIdleTimeout)

设置空闲连接之前的持续时间。

连接完成其最后一个网络请求后,连接空闲超时将开始。 每次使用连接时,空闲超时都会重置。

如果 connectionIdleTimeout 为 null,则将使用 60 秒超时,如果它 Duration 小于或等于零,则不会应用任何超时期限。 应用超时时,最大为 1 毫秒,将使用 的值 connectionIdleTimeout

默认连接空闲超时为 60 秒。

Parameters:

connectionIdleTimeout - 连接空闲超时持续时间。

Returns:

更新的 HttpClientOptions 对象。

setHeaders

public HttpClientOptions setHeaders(Iterable

headers)

设置 Header

传递的标头应用于随客户端发送的每个请求。

这会覆盖以前设置的所有标头。

示例代码

使用标头“myCustomHeader”:“myStaticValue”创建 ClientOptions

ClientOptions clientOptions = new ClientOptions()
     .setHeaders(Collections.singletonList(new Header("myCustomHeader", "myStaticValue")));

Overrides:

HttpClientOptions.setHeaders(Iterable<Header> headers)

Parameters:

headers

setHttpClientProvider

public HttpClientOptions setHttpClientProvider(Class httpClientProvider)

设置应用于构造 实例的HttpClient实现类型HttpClientProvider。 如果未设置该值或为空字符串,则 ServiceLoaderHttpClientProvider首先解析用于创建 的HttpClient实例。 如果值已设置,并且与 ServiceLoaderIllegalStateException 解析的任何HttpClientProvider值不匹配,则在尝试创建 实例HttpClient时将引发 。

Parameters:

httpClientProvider - HttpClientProvider用于创建 实例的HttpClient实现。

Returns:

更新的 HttpClientOptions 对象。

setMaximumConnectionPoolSize

public HttpClientOptions setMaximumConnectionPoolSize(Integer maximumConnectionPoolSize)

设置基础 HTTP 客户端使用的最大连接池大小。

修改最大连接池大小可能会影响应用程序的性能。 增加最大连接池将导致应用程序可以使用更多连接,但可能会导致网络资源争用更多。 建议对不同的最大连接池大小执行性能分析,以便为应用程序找到正确的配置。

此最大连接池大小不是全局配置,而是使用此 HttpClientOptions创建的每个 HttpClient 的实例级配置。

默认的最大连接池大小由基础 HTTP 客户端确定。 将最大连接池大小设置为 null 会将配置重置为使用基础 HTTP 客户端确定的默认值。

Parameters:

maximumConnectionPoolSize - 最大连接池大小。

Returns:

更新的 HttpClientOptions 对象。

setProxyOptions

public HttpClientOptions setProxyOptions(ProxyOptions proxyOptions)

ProxyOptions设置 将使用的 HttpClient

Parameters:

proxyOptions - 要使用的代理选项。

Returns:

更新的 HttpClientOptions 对象。

setReadTimeout

public HttpClientOptions setReadTimeout(Duration readTimeout)

设置读取服务器响应时使用的读取超时持续时间。

在收到服务器响应后触发第一次响应读取后,读取超时将开始。 此超时会定期触发,但如果另一个读取操作在超时触发到完成之间完成,则不会触发其操作。

如果 readTimeout 为 null, PROPERTY_AZURE_REQUEST_READ_TIMEOUT 或者将使用 60 秒超时,如果小于 Duration 或等于零,则不会对响应读取应用超时期限。 应用超时时,最大为 1 毫秒,将使用 的值 readTimeout

默认读取超时为 60 秒。

Parameters:

readTimeout - 读取超时持续时间。

Returns:

更新的 HttpClientOptions 对象。

setResponseTimeout

public HttpClientOptions setResponseTimeout(Duration responseTimeout)

设置等待服务器答复时使用的响应超时持续时间。

响应超时在请求写入完成后开始,并在收到服务器响应时触发第一个响应读取后完成。

如果 responseTimeout 为 null, PROPERTY_AZURE_REQUEST_RESPONSE_TIMEOUT 或者将使用 60 秒超时,如果小于 Duration 或等于零,则不会对响应应用任何超时。 应用超时时,最大为 1 毫秒,将使用 的值 responseTimeout

默认响应超时为 60 秒。

Parameters:

responseTimeout - 响应超时持续时间。

Returns:

更新的 HttpClientOptions 对象。

setWriteTimeout

public HttpClientOptions setWriteTimeout(Duration writeTimeout)

设置要发送的请求的写入超时。

写入超时不适用于整个请求,而是应用于通过线路发送的每个发射。 例如,发出 108KB 缓冲区的请求正文将触发 10 写入操作,将定期检查出站缓冲区以确定它是否仍在排出。

如果 writeTimeout 为 null, PROPERTY_AZURE_REQUEST_WRITE_TIMEOUT 或者将使用 60 秒超时,如果小于 Duration 或等于零,则不会应用写入超时。 应用超时时,最大为 1 毫秒,将使用 的值 writeTimeout

默认写入超时为 60 秒。

Parameters:

writeTimeout - 写入操作超时持续时间。

Returns:

更新的 HttpClientOptions 对象。

适用于