模块  java.net.http
软件包  java.net.http

Interface HttpClient.Builder

  • Enclosing class:
    HttpClient

    public static interface HttpClient.Builder
    建筑师HTTP Clients

    通过调用newBuilder创建构建器 每个setter方法都会修改构建器的状态并返回相同的实例。 构建器不是线程安全的,不应在没有外部同步的情况下从多个线程同时使用。

    从以下版本开始:
    11
    • 方法详细信息

      • cookieHandler

        HttpClient.Builder cookieHandler​(CookieHandler cookieHandler)
        设置cookie处理程序。
        参数
        cookieHandler - cookie处理程序
        结果
        这个建设者
      • connectTimeout

        HttpClient.Builder connectTimeout​(Duration duration)
        设置此客户端的连接超时持续时间。

        在需要建立新连接的情况下,如果在给定的duration内无法建立连接,则HttpClient::send会抛出HttpConnectTimeoutException ,或HttpClient::sendAsyncHttpConnectTimeoutException异常完成。 如果不需要建立新连接,例如,如果可以从先前的请求重用连接,则此超时持续时间不起作用。

        参数
        duration - 允许建立基础连接的持续时间
        结果
        这个建设者
        异常
        IllegalArgumentException - 如果持续时间是非正数
      • sslContext

        HttpClient.Builder sslContext​(SSLContext sslContext)
        设置SSLContext

        如果在building之前未调用此方法,则新构建的客户端将使用default context ,这通常适用于不需要指定协议或需要客户端身份验证的客户端应用程序。

        参数
        sslContext - SSLContext
        结果
        这个建设者
      • sslParameters

        HttpClient.Builder sslParameters​(SSLParameters sslParameters)
        设置SSLParameters

        如果在building之前未调用此方法,则新构建的客户端将使用默认的,特定于实现的参数集。

        HTTP客户端实现内部使用的某些参数(例如应用程序协议列表)不应由调用者设置,因为它们可能会被忽略。 复制给定对象的内容。

        参数
        sslParameters - SSLParameters
        结果
        这个建设者
      • executor

        HttpClient.Builder executor​(Executor executor)
        设置用于异步和从属任务的执行程序。

        如果在building之前未调用此方法, 则会为每个新构建的HttpClient创建一个默认执行HttpClient

        Implementation Note:
        默认执行程序使用带有自定义线程工厂的线程池。 如果已安装安全管理器,则线程工厂会创建使用没有权限的访问控制上下文运行的线程。
        参数
        executor - 执行人
        结果
        这个建设者
      • followRedirects

        HttpClient.Builder followRedirects​(HttpClient.Redirect policy)
        指定请求是否将自动遵循服务器发出的重定向。

        如果在building之前未调用此方法,则新构建的客户端将使用默认重定向策略NEVER

        参数
        policy - 重定向策略
        结果
        这个建设者
      • version

        HttpClient.Builder version​(HttpClient.Version version)
        尽可能请求特定的HTTP协议版本。

        如果在building之前未调用此方法,则新构建的客户端将更喜欢HTTP/2

        如果设置为HTTP/2 ,则每个请求都将尝试升级到HTTP / 2。 如果升级成功,则对此请求的响应将使用HTTP / 2,并且对同一origin server的所有后续请求和响应将使用HTTP / 2。 如果升级失败,则将使用HTTP / 1.1处理响应

        Implementation Note:
        约束也可能影响协议版本的选择。 例如,如果通过代理请求HTTP / 2,并且如果实现不支持此模式,则可以使用HTTP / 1.1
        参数
        version - 请求的HTTP协议版本
        结果
        这个建设者
      • priority

        HttpClient.Builder priority​(int priority)
        设置从此客户端发送的任何HTTP / 2请求的默认优先级。 提供的值必须介于1256 (含)之间。
        参数
        priority - 优先权重
        结果
        这个建设者
        异常
        IllegalArgumentException - 如果给定的优先级超出范围
      • authenticator

        HttpClient.Builder authenticator​(Authenticator authenticator)
        设置用于HTTP身份验证的身份验证器。
        参数
        authenticator - 身份验证者
        结果
        这个建设者
      • build

        HttpClient build()
        返回从此构建器的当前状态构建的新HttpClient
        结果
        新的 HttpClient