Package org.miaixz.bus.http
Class Httpd.Builder
java.lang.Object
org.miaixz.bus.http.Httpd.Builder
- Enclosing class:
Httpd
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionaddInterceptor(Interceptor interceptor) addNetworkInterceptor(Interceptor interceptor) authenticator(Authenticator authenticator) 设置用于响应来自源服务器的挑战的验证器。使用proxyAuthenticator设置代理服务器的身份验证器.build()设置用于读写缓存的响应的响应缓存.callTimeout(long timeout, TimeUnit unit) 设置完成调用的默认超时。值0表示没有超时,否则在转换为毫秒时,值必须在1和Integer.MAX_VALUE之间callTimeout(Duration duration) 设置完成调用的默认超时。值0表示没有超时,否则在转换为毫秒时,值必须在1和Integer.MAX_VALUE之间certificatePinner(CertificatePinner certificatePinner) 设置限制哪些证书受信任的证书pinner。默认情况下,HTTPS连接仅 依赖于SSL套接字工厂来建立信任。 固定证书避免了信任证书颁发机构的需要。connectionPool(ConnectionPool connectionPool) 设置用于回收HTTP和HTTPS连接的连接池.connectionSpecs(List<ConnectionSuite> connectionSuites) connectTimeout(long timeout, TimeUnit unit) 设置新连接的默认连接超时。值0表示没有超时,否则在转换为毫秒时,值必须在1和Integer.MAX_VALUE之间connectTimeout(Duration duration) 设置新连接的默认连接超时。值0表示没有超时,否则在转换为毫秒时,值必须在1和Integer.MAX_VALUE之间设置可以接受来自传入HTTP响应的cookie并向传出HTTP请求提供cookie的处理程序.dispatcher(Dispatcher dispatcher) 设置用于设置策略和执行异步请求的调度程序。不能为空.设置用于查找主机名的IP地址的DNS服务.eventListener(EventListener eventListener) 配置单个客户机作用域侦听器,该侦听器将接收此客户机的所有分析事件.eventListenerFactory(EventListener.Factory eventListenerFactory) 配置工厂以提供每个调用范围的侦听器,这些侦听器将接收此客户机的分析事件followRedirects(boolean followRedirects) 此客户端配置为遵循重定向。如果未设置,将遵循重定向.followSslRedirects(boolean followProtocolRedirects) 让这个客户从HTTPS到HTTPS跟踪和从HTTPS到HTTPS.hostnameVerifier(HostnameVerifier hostnameVerifier) 设置用于确认响应证书适用于HTTPS连接请求的主机名的验证程序.返回一个可修改的拦截器列表,该列表观察每个调用的完整跨度: 从建立连接之前(如果有的话)到选择响应源之后(源服务器、缓存或两者都有).返回观察单个网络请求和响应的可修改的拦截器列表。 这些拦截器必须调用NewChain.proceed(org.miaixz.bus.http.Request)只执行一次:网络拦截器短路或重复网络请求是错误的pingInterval(long interval, TimeUnit unit) 设置此客户端发起的HTTP/2和web套接字ping之间的间隔。使用此命令可自动发送ping帧,直到连接失败或关闭 这将保持连接处于活动状态,并可能检测到连接失败.pingInterval(Duration duration) 设置此客户端发起的HTTP/2和web套接字ping之间的间隔。使用此命令可自动发送ping帧, 直到连接失败或关闭。这将保持连接处于活动状态,并可能检测到连接失败.配置此客户端使用的协议以与远程服务器通信。默认情况下,该客户机将选择最有效的传输方式 退回到更普遍的协议。应用程序应该只调用这个方法来避免特定的兼容性问题,比如在启用HTTP/2时web服务器的行为不正确.设置此客户端创建的连接将使用的HTTP代理。它优先于proxySelector, 后者仅在此代理为空(默认为空)时才被启用。要完全禁用代理使用,请调用proxy(proxy . no_proxy)proxyAuthenticator(Authenticator proxyAuthenticator) 设置用于响应来自代理服务器的挑战的验证器。使用authenticator设置源服务器的身份验证器 果未设置,将尝试no authentication will be attemptedproxySelector(ProxySelector proxySelector) 如果没有显式指定proxy,则设置要使用的代理选择策略。代理选择器可以返回多个代理;在这种情况下, 将依次对它们进行测试,直到建立成功的连接.readTimeout(long timeout, TimeUnit unit) 设置新连接的默认读取超时。值0表示没有超时,否则在转换为毫秒时,值必须在1和Integer.MAX_VALUE之间readTimeout(Duration duration) 设置新连接的默认读取超时。值0表示没有超时,否则在转换为毫秒时,值必须在1和Integer.MAX_VALUE之间retryOnConnectionFailure(boolean retryOnConnectionFailure) 在遇到连接问题时,将此客户端配置为重试或不重试 将此设置为false,以避免在这样做会造成破坏时重试请求 在这种情况下,调用应用程序应该自己恢复连接故障.socketFactory(SocketFactory socketFactory) 设置用于创建连接的套接字工厂。Httpd只使用无参数的SocketFactory.createSocket()方法来创建未连接的套接字。重写这个方法,例如。,允许将套接字绑定到特定的本地地址 如果未设置,将使用system-wide defaultsocket工厂sslSocketFactory(SSLSocketFactory sslSocketFactory) 设置用于保护HTTPS连接的套接字工厂。如果未设置,则使用系统默认值sslSocketFactory(SSLSocketFactory sslSocketFactory, X509TrustManager trustManager) 设置用于保护HTTPS连接的套接字工厂和信任管理器。如果未设置,则使用系统默认值 大多数应用程序不应该调用这个方法,而应该使用系统默认值。这些类包含特殊的优化,如果实现被修饰,这些优化可能会丢失writeTimeout(long timeout, TimeUnit unit) 设置新连接的默认写超时。值0表示没有超时,否则在转换为毫秒时,值必须在1和Integer.MAX_VALUE之间writeTimeout(Duration duration) 设置新连接的默认写超时。值0表示没有超时,否则在转换为毫秒时,值必须在1和Integer.MAX_VALUE之间
-
Constructor Details
-
Builder
public Builder()
-
-
Method Details
-
callTimeout
设置完成调用的默认超时。值0表示没有超时,否则在转换为毫秒时,值必须在1和Integer.MAX_VALUE之间- Parameters:
timeout- 超时时间unit- 计算单位- Returns:
- 构造器
-
callTimeout
设置完成调用的默认超时。值0表示没有超时,否则在转换为毫秒时,值必须在1和Integer.MAX_VALUE之间- Parameters:
duration- 持续时间- Returns:
- 构造器
-
connectTimeout
设置新连接的默认连接超时。值0表示没有超时,否则在转换为毫秒时,值必须在1和Integer.MAX_VALUE之间- Parameters:
timeout- 超时时间unit- 计算单位- Returns:
- 构造器
-
connectTimeout
设置新连接的默认连接超时。值0表示没有超时,否则在转换为毫秒时,值必须在1和Integer.MAX_VALUE之间- Parameters:
duration- 持续时间- Returns:
- 构造器
-
readTimeout
设置新连接的默认读取超时。值0表示没有超时,否则在转换为毫秒时,值必须在1和Integer.MAX_VALUE之间- Parameters:
timeout- 超时时间unit- 计算单位- Returns:
- 构造器
- See Also:
-
readTimeout
设置新连接的默认读取超时。值0表示没有超时,否则在转换为毫秒时,值必须在1和Integer.MAX_VALUE之间- Parameters:
duration- 持续时间- Returns:
- 构造器
- See Also:
-
writeTimeout
设置新连接的默认写超时。值0表示没有超时,否则在转换为毫秒时,值必须在1和Integer.MAX_VALUE之间- Parameters:
timeout- 超时时间unit- 计算单位- Returns:
- 构造器
- See Also:
-
writeTimeout
设置新连接的默认写超时。值0表示没有超时,否则在转换为毫秒时,值必须在1和Integer.MAX_VALUE之间- Parameters:
duration- 持续时间- Returns:
- 构造器
- See Also:
-
pingInterval
设置此客户端发起的HTTP/2和web套接字ping之间的间隔。使用此命令可自动发送ping帧,直到连接失败或关闭 这将保持连接处于活动状态,并可能检测到连接失败.- Parameters:
interval- 间隔时间unit- 计算单位- Returns:
- 构造器
-
pingInterval
设置此客户端发起的HTTP/2和web套接字ping之间的间隔。使用此命令可自动发送ping帧, 直到连接失败或关闭。这将保持连接处于活动状态,并可能检测到连接失败.- Parameters:
duration- 持续时间- Returns:
- 构造器
-
proxy
设置此客户端创建的连接将使用的HTTP代理。它优先于proxySelector, 后者仅在此代理为空(默认为空)时才被启用。要完全禁用代理使用,请调用proxy(proxy . no_proxy)- Parameters:
proxy- 代理- Returns:
- 构造器
-
proxySelector
如果没有显式指定proxy,则设置要使用的代理选择策略。代理选择器可以返回多个代理;在这种情况下, 将依次对它们进行测试,直到建立成功的连接.- Parameters:
proxySelector- 代理选择器- Returns:
- 构造器
-
cookieJar
设置可以接受来自传入HTTP响应的cookie并向传出HTTP请求提供cookie的处理程序.- Parameters:
cookieJar- cookie策略- Returns:
- 构造器
-
cache
设置用于读写缓存的响应的响应缓存.- Parameters:
cache- 缓存支持- Returns:
- 构造器
-
dns
设置用于查找主机名的IP地址的DNS服务. 如果未设置,将使用system-wide defaultDNS- Parameters:
dns- DNS服务- Returns:
- 构造器
-
socketFactory
设置用于创建连接的套接字工厂。Httpd只使用无参数的SocketFactory.createSocket()方法来创建未连接的套接字。重写这个方法,例如。,允许将套接字绑定到特定的本地地址 如果未设置,将使用system-wide defaultsocket工厂- Parameters:
socketFactory- socket工厂- Returns:
- 构造器
-
sslSocketFactory
设置用于保护HTTPS连接的套接字工厂。如果未设置,则使用系统默认值- Parameters:
sslSocketFactory- socket工厂- Returns:
- 构造器
-
sslSocketFactory
public Httpd.Builder sslSocketFactory(SSLSocketFactory sslSocketFactory, X509TrustManager trustManager) 设置用于保护HTTPS连接的套接字工厂和信任管理器。如果未设置,则使用系统默认值 大多数应用程序不应该调用这个方法,而应该使用系统默认值。这些类包含特殊的优化,如果实现被修饰,这些优化可能会丢失TrustManagerFactory trustManagerFactory = TrustManagerFactory.getInstance( TrustManagerFactory.getDefaultAlgorithm()); trustManagerFactory.init((KeyStore) null); TrustManager[] trustManagers = trustManagerFactory.getTrustManagers(); if (trustManagers.length != 1 || !(trustManagers[0] instanceof X509TrustManager)) { throw new IllegalStateException("Unexpected default trust managers:" + Arrays.toString(trustManagers)); } X509TrustManager trustManager = (X509TrustManager) trustManagers[0]; SSLContext sslContext = SSLContext.getInstance("TLS"); sslContext.init(null, new TrustManager[] { trustManager }, null); SSLSocketFactory sslSocketFactory = sslContext.getSocketFactory(); Httpd client = new Httpd.Builder() .sslSocketFactory(sslSocketFactory, trustManager) .build();- Parameters:
sslSocketFactory- ssl socket工厂trustManager- X509证书身份验证- Returns:
- 构造器
-
hostnameVerifier
设置用于确认响应证书适用于HTTPS连接请求的主机名的验证程序. 如果未设置,将使用默认的主机名验证器- Parameters:
hostnameVerifier- 验证主机名接口- Returns:
- 构造器
-
certificatePinner
设置限制哪些证书受信任的证书pinner。默认情况下,HTTPS连接仅 依赖于SSL套接字工厂来建立信任。 固定证书避免了信任证书颁发机构的需要。- Parameters:
certificatePinner- 证书- Returns:
- 构造器
-
authenticator
设置用于响应来自源服务器的挑战的验证器。使用proxyAuthenticator设置代理服务器的身份验证器.- Parameters:
authenticator- 验证器- Returns:
- 构造器
-
proxyAuthenticator
设置用于响应来自代理服务器的挑战的验证器。使用authenticator设置源服务器的身份验证器 果未设置,将尝试no authentication will be attempted- Parameters:
proxyAuthenticator- 代理验证器- Returns:
- 构造器
-
connectionPool
设置用于回收HTTP和HTTPS连接的连接池. 如果未设置,将使用新的连接池- Parameters:
connectionPool- 连接池信息- Returns:
- 构造器
-
followSslRedirects
让这个客户从HTTPS到HTTPS跟踪和从HTTPS到HTTPS. 如果未设置,将遵循协议重定向。这与内置的HttpURLConnection的默认设置不同- Parameters:
followProtocolRedirects- 重定向- Returns:
- 构造器
-
followRedirects
此客户端配置为遵循重定向。如果未设置,将遵循重定向.- Parameters:
followRedirects- 重定向- Returns:
- 构造器
-
retryOnConnectionFailure
在遇到连接问题时,将此客户端配置为重试或不重试 将此设置为false,以避免在这样做会造成破坏时重试请求 在这种情况下,调用应用程序应该自己恢复连接故障.- Parameters:
retryOnConnectionFailure- 失败重试- Returns:
- 构造器
-
dispatcher
设置用于设置策略和执行异步请求的调度程序。不能为空.- Parameters:
dispatcher- 调度程序分配器- Returns:
- 构造器
-
protocols
配置此客户端使用的协议以与远程服务器通信。默认情况下,该客户机将选择最有效的传输方式 退回到更普遍的协议。应用程序应该只调用这个方法来避免特定的兼容性问题,比如在启用HTTP/2时web服务器的行为不正确.- Parameters:
protocols- 使用的协议,按优先顺序排列。如果列表包含Protocol.H2_PRIOR_KNOWLEDGE, 那么它必须是唯一的协议,并且不支持HTTPS url。否则列表必须包含Protocol.HTTP_1_1。 该列表不能包含null或Protocol.HTTP_1_0.- Returns:
- 构造器
-
connectionSpecs
-
interceptors
返回一个可修改的拦截器列表,该列表观察每个调用的完整跨度: 从建立连接之前(如果有的话)到选择响应源之后(源服务器、缓存或两者都有).- Returns:
- 构造器
-
addInterceptor
-
networkInterceptors
返回观察单个网络请求和响应的可修改的拦截器列表。 这些拦截器必须调用NewChain.proceed(org.miaixz.bus.http.Request)只执行一次:网络拦截器短路或重复网络请求是错误的- Returns:
- 构造器
-
addNetworkInterceptor
-
eventListener
配置单个客户机作用域侦听器,该侦听器将接收此客户机的所有分析事件.- Parameters:
eventListener- 监听器- Returns:
- 构造器
-
eventListenerFactory
配置工厂以提供每个调用范围的侦听器,这些侦听器将接收此客户机的分析事件- Parameters:
eventListenerFactory- 监听工厂信息- Returns:
- 构造器
-
build
-