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