java.lang.Object
org.miaixz.bus.http.Httpd
- All Implemented Interfaces:
Cloneable,NewCall.Factory,WebSocket.Factory
HTTP 请求核心客户端,负责发送 HTTP 请求并读取响应。 通过连接池和线程池优化性能,支持 HTTP/2 和 WebSocket 连接。 建议复用单一
Httpd 实例以减少资源开销。- Since:
- Java 17+
- Author:
- Kimi Liu
-
Nested Class Summary
Nested Classes -
Constructor Summary
ConstructorsConstructorDescriptionHttpd()默认构造函数,使用默认配置创建 Httpd 实例。Httpd(Httpd.Builder builder) 构造函数,根据提供的 Builder 配置创建 Httpd 实例。 -
Method Summary
Modifier and TypeMethodDescription获取服务器身份验证器。cache()获取缓存实例。int获取调用超时时间(毫秒)。获取证书固定器。获取连接池。获取支持的连接套件列表。int获取连接超时时间(毫秒)。获取 Cookie 管理器。获取请求调度器。dns()获取 DNS 服务。获取事件监听器工厂。boolean检查是否跟随 HTTP 重定向。boolean检查是否跟随 SSL 重定向。获取主机名验证器。获取拦截器列表。获取网络拦截器列表。创建新的 Builder 实例,基于当前 Httpd 配置。创建新的 HTTP 调用,用于执行指定的请求。newWebSocket(Request request, WebSocketListener listener) 创建新的 WebSocket 连接。int获取 WebSocket ping 间隔(毫秒)。List<org.miaixz.bus.core.net.Protocol> 获取支持的协议列表。proxy()获取配置的代理。获取代理身份验证器。获取代理选择器。int获取读取超时时间(毫秒)。boolean检查是否在连接失败时重试。获取套接字工厂。获取 SSL 套接字工厂。int获取写入超时时间(毫秒)。
-
Constructor Details
-
Httpd
public Httpd()默认构造函数,使用默认配置创建 Httpd 实例。 -
Httpd
构造函数,根据提供的 Builder 配置创建 Httpd 实例。- Parameters:
builder- Builder 实例,包含所有配置参数
-
-
Method Details
-
newCall
创建新的 HTTP 调用,用于执行指定的请求。- Specified by:
newCallin interfaceNewCall.Factory- Parameters:
request- HTTP 请求对象- Returns:
- NewCall 实例,用于执行请求
-
newWebSocket
创建新的 WebSocket 连接。- Specified by:
newWebSocketin interfaceWebSocket.Factory- Parameters:
request- WebSocket 请求对象listener- WebSocket 事件监听器- Returns:
- WebSocket 实例
-
callTimeoutMillis
public int callTimeoutMillis()获取调用超时时间(毫秒)。- Returns:
- 调用超时时间
-
connectTimeoutMillis
public int connectTimeoutMillis()获取连接超时时间(毫秒)。- Returns:
- 连接超时时间
-
readTimeoutMillis
public int readTimeoutMillis()获取读取超时时间(毫秒)。- Returns:
- 读取超时时间
-
writeTimeoutMillis
public int writeTimeoutMillis()获取写入超时时间(毫秒)。- Returns:
- 写入超时时间
-
pingIntervalMillis
public int pingIntervalMillis()获取 WebSocket ping 间隔(毫秒)。- Returns:
- ping 间隔
-
proxy
获取配置的代理。- Returns:
- 代理实例,可能为 null
-
proxySelector
获取代理选择器。- Returns:
- 代理选择器
-
cookieJar
获取 Cookie 管理器。- Returns:
- CookieJar 实例
-
cache
获取缓存实例。- Returns:
- Cache 实例,可能为 null
-
dns
获取 DNS 服务。- Returns:
- DnsX 实例
-
socketFactory
获取套接字工厂。- Returns:
- SocketFactory 实例
-
sslSocketFactory
获取 SSL 套接字工厂。- Returns:
- SSLSocketFactory 实例
-
hostnameVerifier
获取主机名验证器。- Returns:
- HostnameVerifier 实例
-
certificatePinner
获取证书固定器。- Returns:
- CertificatePinner 实例
-
authenticator
获取服务器身份验证器。- Returns:
- Authenticator 实例
-
proxyAuthenticator
获取代理身份验证器。- Returns:
- Authenticator 实例
-
connectionPool
获取连接池。- Returns:
- ConnectionPool 实例
-
followSslRedirects
public boolean followSslRedirects()检查是否跟随 SSL 重定向。- Returns:
- true 如果跟随 SSL 重定向
-
followRedirects
public boolean followRedirects()检查是否跟随 HTTP 重定向。- Returns:
- true 如果跟随 HTTP 重定向
-
retryOnConnectionFailure
public boolean retryOnConnectionFailure()检查是否在连接失败时重试。- Returns:
- true 如果启用重试
-
dispatcher
获取请求调度器。- Returns:
- Dispatcher 实例
-
protocols
获取支持的协议列表。- Returns:
- 不可修改的协议列表
-
connectionSpecs
获取支持的连接套件列表。- Returns:
- 不可修改的连接套件列表
-
interceptors
获取拦截器列表。- Returns:
- 不可修改的拦截器列表
-
networkInterceptors
获取网络拦截器列表。- Returns:
- 不可修改的网络拦截器列表
-
eventListenerFactory
获取事件监听器工厂。- Returns:
- EventListener.Factory 实例
-
newBuilder
创建新的 Builder 实例,基于当前 Httpd 配置。- Returns:
- Builder 实例
-