モジュール java.net.http
パッケージ java.net.http

インタフェースHttpClient.Builder

  • 含まれているクラス:
    HttpClient

    public static interface HttpClient.Builder
    「HTTPクライアント」のビルダー。

    ビルダーは、newBuilderを呼び出すことによって作成されます。 各setterメソッドは、Builderの状態を変更し、同じインスタンスを返します。 ビルダーはスレッド・セーフではないため、外部同期なしで複数のスレッドから同時に使用すべきではありません。

    導入されたバージョン:
    11
    • フィールドの詳細

      • NO_PROXY

        static final ProxySelector NO_PROXY
        直接接続を意味するProxy.NO_PROXYを常に返すプロキシ・セレクタ。

        これは、プロキシを使用しないHttpClientのインスタンスを作成するためにproxy(ProxySelector)に渡すことができる便利なオブジェクトです。

    • メソッドの詳細

      • cookieHandler

        HttpClient.Builder cookieHandler​(CookieHandler cookieHandler)
        Cookieハンドラを設定します。
        パラメータ:
        cookieHandler - Cookieハンドラ
        戻り値:
        このビルダー
      • connectTimeout

        HttpClient.Builder connectTimeout​(Duration duration)
        このクライアントの接続タイムアウト期間を設定します。

        新しい接続を確立する必要がある場合に、指定された duration内に接続を確立できないと、HttpClient::sendHttpConnectTimeoutExceptionをスローし、HttpClient::sendAsyncHttpConnectTimeoutExceptionを使用して例外的に完了します。 たとえば、接続を前のリクエストから再利用できる場合など、新しい接続を確立する必要がない場合、このタイムアウト期間は影響しません。

        パラメータ:
        duration - 基礎となる接続の確立を許可する期間
        戻り値:
        このビルダー
        例外:
        IllegalArgumentException - 期間が非正の場合
      • sslContext

        HttpClient.Builder sslContext​(SSLContext sslContext)
        SSLContextを設定します。

        このメソッドがbuildingの前に呼び出されない場合、新しく作成されたクライアントは「デフォルト・コンテキスト」を使用します。これは通常、プロトコルを指定する必要のないクライアント・アプリケーションやクライアント認証が必要なクライアント・アプリケーションに適しています。

        パラメータ:
        sslContext - SSLContext
        戻り値:
        このビルダー
      • sslParameters

        HttpClient.Builder sslParameters​(SSLParameters sslParameters)
        SSLParametersを設定します。

        このメソッドがbuildingの前に呼び出されない場合、新しくビルドされたクライアントはデフォルトの実装固有のパラメータ・セットを使用します。

        HTTPクライアント実装(アプリケーション・プロトコル・リスト)によって内部的に使用されるいくつかのパラメータは、無視される可能性があるため、呼び出し元によって設定されるべきではありません。 指定されたオブジェクトの内容がコピーされます。

        パラメータ:
        sslParameters - SSLParameters
        戻り値:
        このビルダー
      • executor

        HttpClient.Builder executor​(Executor executor)
        非同期および依存タスクに使用されるエグゼキュータを設定します。

        このメソッドがbuildingの前に呼び出されない場合は、新しく構築された HttpClientごとにデフォルトのexecutorが作成されます。

        実装上のノート:
        デフォルト・エグゼキュータでは、カスタム・スレッド・ファクトリを備えたスレッド・プールが使用されます。 セキュリティ・マネージャがインストールされている場合、スレッド・ファクトリは、アクセス権を持たないアクセス制御コンテキストで実行されるスレッドを作成します。
        パラメータ:
        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を使用し、その後のすべてのリクエストと同じ「オリジン・サーバー」へのレスポンスはHTTP/2を使用します。 アップグレードが失敗した場合、レスポンスはHTTP/1.1を使用して処理されます

        実装上のノート:
        制約は、プロトコル・バージョンの選択に影響する場合もあります。 たとえば、プロキシを介してHTTP/2がリクエストされ、実装がこのモードをサポートしない場合、HTTP/1.1を使用できます。
        パラメータ:
        version - リクエストされたHTTPプロトコルのバージョン
        戻り値:
        このビルダー
      • priority

        HttpClient.Builder priority​(int priority)
        このクライアントから送信されたHTTP/2リクエストのデフォルトの優先度を設定します。 指定する値は、1256 (inclusive)の間にある必要があります。
        パラメータ:
        priority - 優先度の重み付け
        戻り値:
        このビルダー
        例外:
        IllegalArgumentException - 指定された優先度が範囲外の場合
      • proxy

        HttpClient.Builder proxy​(ProxySelector proxySelector)
        ProxySelectorを設定します。
        APIに関するノート:
        ProxySelector::ofは、すべてのリクエストに対して単一のプロキシを使用するProxySelectorを提供します。 システム全体のプロキシ・セレクタは、ProxySelector.getDefault()によって取得できます。
        実装上のノート:
        このメソッドがbuildingの前に起動されない場合、新しく作成されたクライアントは「デフォルト・プロキシ・セレクタ」を使用しますが、これは通常クライアント・アプリケーションに適しています。 デフォルトのプロキシ・セレクタは「プロキシ設定」に関連するシステム・プロパティのセットをサポートします。 NO_PROXYや、ProxySelector::ofによって返される明示的なプロキシ・セレクタを指定して、buildingの前にこのデフォルト動作を無効にすることができます。
        パラメータ:
        proxySelector - the ProxySelector
        戻り値:
        このビルダー
      • authenticator

        HttpClient.Builder authenticator​(Authenticator authenticator)
        HTTP認証に使用するオーセンティケータを設定します。
        パラメータ:
        authenticator - オーセンティケータ
        戻り値:
        このビルダー
      • build

        HttpClient build()
        このビルダーの現在の状態から構築された新しいHttpClientを返します。
        戻り値:
        新しいHttpClient