public class HttpClientBuilder extends Object
CloseableHttpClient实例。
当一个特定组件未被明确设置时,此类将使用其默认实现。 系统属性将配置缺省实现时,当考虑到useSystemProperties()方法之前调用称为build() 。
请注意,此类使用的某些设置可能是互斥的,并且在构建CloseableHttpClient实例时可能不适用。
| Modifier | Constructor and Description |
|---|---|
protected |
HttpClientBuilder() |
public static HttpClientBuilder create()
public final HttpClientBuilder setRequestExecutor(HttpRequestExecutor requestExec)
HttpRequestExecutor实例。
@Deprecated public final HttpClientBuilder setHostnameVerifier(X509HostnameVerifier hostnameVerifier)
public final HttpClientBuilder setSSLHostnameVerifier(HostnameVerifier hostnameVerifier)
HostnameVerifier实例。
请注意,该值可以被setConnectionManager( org.apache.http.conn.HttpClientConnectionManager)和setSSLSocketFactory( org.apache.http.conn.socket.LayeredConnectionSocketFactory)方法覆盖。
public final HttpClientBuilder setPublicSuffixMatcher(PublicSuffixMatcher publicSuffixMatcher)
PublicSuffixMatcherLoader创建。
PublicSuffixMatcher , PublicSuffixMatcherLoader
@Deprecated public final HttpClientBuilder setSslcontext(SSLContext sslcontext)
setSSLContext(SSLContext)
public final HttpClientBuilder setSSLContext(SSLContext sslContext)
public final HttpClientBuilder setSSLSocketFactory(LayeredConnectionSocketFactory sslSocketFactory)
public final HttpClientBuilder setMaxConnTotal(int maxConnTotal)
请注意,该值可以被setConnectionManager( org.apache.http.conn.HttpClientConnectionManager)方法覆盖。
public final HttpClientBuilder setMaxConnPerRoute(int maxConnPerRoute)
请注意,该值可以被setConnectionManager( org.apache.http.conn.HttpClientConnectionManager)方法覆盖。
public final HttpClientBuilder setDefaultSocketConfig(SocketConfig config)
SocketConfig 。
请注意,该值可以被setConnectionManager( org.apache.http.conn.HttpClientConnectionManager)方法覆盖。
public final HttpClientBuilder setDefaultConnectionConfig(ConnectionConfig config)
ConnectionConfig 。
请注意,该值可以被setConnectionManager( org.apache.http.conn.HttpClientConnectionManager)方法覆盖。
public final HttpClientBuilder setConnectionTimeToLive(long connTimeToLive, TimeUnit connTimeToLiveTimeUnit)
请注意,该值可以被setConnectionManager( org.apache.http.conn.HttpClientConnectionManager)方法覆盖。
public final HttpClientBuilder setConnectionManager(HttpClientConnectionManager connManager)
public final HttpClientBuilder setConnectionManagerShared(boolean shared)
如果连接管理器是共享的,则其生命周期预期由呼叫者管理,如果客户端关闭,则不会关闭它。
shared - 定义连接管理器是否可以由多个客户端共享。
public final HttpClientBuilder setConnectionReuseStrategy(ConnectionReuseStrategy reuseStrategy)
public final HttpClientBuilder setKeepAliveStrategy(ConnectionKeepAliveStrategy keepAliveStrategy)
public final HttpClientBuilder setTargetAuthenticationStrategy(AuthenticationStrategy targetAuthStrategy)
AuthenticationStrategy实例。
public final HttpClientBuilder setProxyAuthenticationStrategy(AuthenticationStrategy proxyAuthStrategy)
AuthenticationStrategy代理身份验证实例。
public final HttpClientBuilder setUserTokenHandler(UserTokenHandler userTokenHandler)
UserTokenHandler实例。
请注意,该值可以被disableConnectionState()方法覆盖。
public final HttpClientBuilder disableConnectionState()
public final HttpClientBuilder setSchemePortResolver(SchemePortResolver schemePortResolver)
SchemePortResolver实例。
public final HttpClientBuilder setUserAgent(String userAgent)
User-Agent值。
请注意,该值可以被setHttpProcessor( org.apache.http.protocol.HttpProcessor)方法覆盖。
public final HttpClientBuilder setDefaultHeaders(Collection<? extends Header> defaultHeaders)
请注意,该值可以被setHttpProcessor( org.apache.http.protocol.HttpProcessor)方法覆盖。
public final HttpClientBuilder addInterceptorFirst(HttpResponseInterceptor itcp)
请注意,该值可以被setHttpProcessor( org.apache.http.protocol.HttpProcessor)方法覆盖。
public final HttpClientBuilder addInterceptorLast(HttpResponseInterceptor itcp)
请注意,该值可以被setHttpProcessor( org.apache.http.protocol.HttpProcessor)方法覆盖。
public final HttpClientBuilder addInterceptorFirst(HttpRequestInterceptor itcp)
请注意,该值可以被setHttpProcessor( org.apache.http.protocol.HttpProcessor)方法覆盖。
public final HttpClientBuilder addInterceptorLast(HttpRequestInterceptor itcp)
请注意,该值可以被setHttpProcessor( org.apache.http.protocol.HttpProcessor)方法覆盖。
public final HttpClientBuilder disableCookieManagement()
请注意,该值可以被setHttpProcessor( org.apache.http.protocol.HttpProcessor)方法覆盖。
public final HttpClientBuilder disableContentCompression()
请注意,该值可以被setHttpProcessor( org.apache.http.protocol.HttpProcessor)方法覆盖。
public final HttpClientBuilder disableAuthCaching()
请注意,该值可以被setHttpProcessor( org.apache.http.protocol.HttpProcessor)方法覆盖。
public final HttpClientBuilder setHttpProcessor(HttpProcessor httpprocessor)
HttpProcessor实例。
public final HttpClientBuilder setDnsResolver(DnsResolver dnsResolver)
DnsResolver实例。
请注意,该值可以被setConnectionManager(HttpClientConnectionManager)方法覆盖。
public final HttpClientBuilder setRetryHandler(HttpRequestRetryHandler retryHandler)
HttpRequestRetryHandler实例。
请注意,该值可以被disableAutomaticRetries()方法覆盖。
public final HttpClientBuilder disableAutomaticRetries()
public final HttpClientBuilder setProxy(HttpHost proxy)
请注意,该值可以被setRoutePlanner( org.apache.http.conn.routing.HttpRoutePlanner)方法覆盖。
public final HttpClientBuilder setRoutePlanner(HttpRoutePlanner routePlanner)
HttpRoutePlanner实例。
public final HttpClientBuilder setRedirectStrategy(RedirectStrategy redirectStrategy)
public final HttpClientBuilder disableRedirectHandling()
public final HttpClientBuilder setConnectionBackoffStrategy(ConnectionBackoffStrategy connectionBackoffStrategy)
public final HttpClientBuilder setBackoffManager(BackoffManager backoffManager)
BackoffManager实例。
public final HttpClientBuilder setServiceUnavailableRetryStrategy(ServiceUnavailableRetryStrategy serviceUnavailStrategy)
public final HttpClientBuilder setDefaultCookieStore(CookieStore cookieStore)
CookieStore实例,如果在客户端执行上下文中未显式设置,则该实例将用于请求执行。
public final HttpClientBuilder setDefaultCredentialsProvider(CredentialsProvider credentialsProvider)
CredentialsProvider实例,如果在客户端执行上下文中未显式设置,则将用于请求执行。
public final HttpClientBuilder setDefaultAuthSchemeRegistry(Lookup<AuthSchemeProvider> authSchemeRegistry)
AuthScheme注册表,如果在客户端执行上下文中未显式设置,那么它将用于请求执行。
public final HttpClientBuilder setDefaultCookieSpecRegistry(Lookup<CookieSpecProvider> cookieSpecRegistry)
CookieSpec注册表,如果在客户端执行上下文中未显式设置,则该注册表将用于请求执行。
CookieSpecRegistries
public final HttpClientBuilder setContentDecoderRegistry(Map<String,InputStreamFactory> contentDecoderMap)
InputStreamFactory的映射。
public final HttpClientBuilder setDefaultRequestConfig(RequestConfig config)
RequestConfig实例,如果在客户机执行上下文中未显式设置,则该实例将用于请求执行。
public final HttpClientBuilder useSystemProperties()
public final HttpClientBuilder evictExpiredConnections()
为了停止和释放后台线程,必须使用Closeable.close()显式关闭HttpClient。
请注意,如果将HttpClient的实例配置为使用共享连接管理器,则此方法无效。
请注意,当在EJB容器内创建HttpClient的实例时,可能不使用此方法。
setConnectionManagerShared(boolean) ,
HttpClientConnectionManager.closeExpiredConnections()
@Deprecated public final HttpClientBuilder evictIdleConnections(Long maxIdleTime, TimeUnit maxIdleTimeUnit)
evictIdleConnections(long, TimeUnit)
必须使用Closeable.close()明确关闭HttpClient,以便停止并释放后台线程。
请注意,如果将HttpClient的实例配置为使用共享连接管理器,则此方法无效。
请注意,当在EJB容器内创建HttpClient的实例时,可能不使用此方法。
maxIdleTime - 连接池中保持活动的最长时间持续连接可以保持空闲状态。
不活动期超过此值的连接将被关闭并从泳池中逐出。
maxIdleTimeUnit - 上述参数的时间单位。
setConnectionManagerShared(boolean) ,
HttpClientConnectionManager.closeExpiredConnections()
public final HttpClientBuilder evictIdleConnections(long maxIdleTime, TimeUnit maxIdleTimeUnit)
为了停止和释放后台线程,必须使用Closeable.close()显式关闭HttpClient。
请注意,如果将HttpClient的实例配置为使用共享连接管理器,则此方法无效。
请注意,当在EJB容器内创建HttpClient的实例时,可能不使用此方法。
maxIdleTime - 连接池中保持活动的最长时间持续连接可以保持空闲状态。
不活动期超过此值的连接将被关闭并从泳池中逐出。
maxIdleTimeUnit - 上述参数的时间单位。
setConnectionManagerShared(boolean) ,
HttpClientConnectionManager.closeExpiredConnections()
protected ClientExecChain createMainExec(HttpRequestExecutor requestExec, HttpClientConnectionManager connManager, ConnectionReuseStrategy reuseStrategy, ConnectionKeepAliveStrategy keepAliveStrategy, HttpProcessor proxyHttpProcessor, AuthenticationStrategy targetAuthStrategy, AuthenticationStrategy proxyAuthStrategy, UserTokenHandler userTokenHandler)
protected ClientExecChain decorateMainExec(ClientExecChain mainExec)
protected ClientExecChain decorateProtocolExec(ClientExecChain protocolExec)
protected void addCloseable(Closeable closeable)
public CloseableHttpClient build()
Copyright © 1999–2017 The Apache Software Foundation. All rights reserved.