- 含まれているクラス:
- HttpClient
public static interface HttpClient.Builder
ビルダーは、newBuilder
を呼び出すことによって作成されます。 各setterメソッドは、Builderの状態を変更し、同じインスタンスを返します。 ビルダーはスレッド・セーフではないため、外部同期なしで複数のスレッドから同時に使用すべきではありません。
- 導入されたバージョン:
- 11
-
フィールドのサマリー
フィールド 修飾子と型 フィールド 説明 static ProxySelector
NO_PROXY
直接接続を意味するProxy.NO_PROXY
を常に返すプロキシ・セレクタ。 -
メソッドのサマリー
修飾子と型 メソッド 説明 HttpClient.Builder
authenticator(Authenticator authenticator)
HTTP認証に使用するオーセンティケータを設定します。HttpClient
build()
このビルダーの現在の状態から構築された新しいHttpClient
を返します。HttpClient.Builder
connectTimeout(Duration duration)
このクライアントの接続タイムアウト期間を設定します。HttpClient.Builder
cookieHandler(CookieHandler cookieHandler)
Cookieハンドラを設定します。HttpClient.Builder
executor(Executor executor)
非同期および依存タスクに使用されるエグゼキュータを設定します。HttpClient.Builder
followRedirects(HttpClient.Redirect policy)
リクエストがサーバーによって発行されたリダイレクトに自動的に従うかどうかを指定します。HttpClient.Builder
priority(int priority)
このクライアントから送信されたHTTP/2リクエストのデフォルトの優先度を設定します。HttpClient.Builder
proxy(ProxySelector proxySelector)
ProxySelector
を設定します。HttpClient.Builder
sslContext(SSLContext sslContext)
SSLContext
を設定します。HttpClient.Builder
sslParameters(SSLParameters sslParameters)
SSLParameters
を設定します。HttpClient.Builder
version(HttpClient.Version version)
可能であれば、特定のHTTPプロトコル・バージョンをリクエストします。
-
フィールド詳細
-
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::send
はHttpConnectTimeoutException
をスローし、HttpClient::sendAsync
はHttpConnectTimeoutException
を使用して例外的に完了します。 たとえば、接続を前のリクエストから再利用できる場合など、新しい接続を確立する必要がない場合、このタイムアウト期間は影響しません。- パラメータ:
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リクエストのデフォルトの優先度を設定します。 指定する値は、1
と256
(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
-