Apache-httpclient-proxy-authentication
提供:Dev Guides
Apache HttpClient-プロキシ認証
この章では、例を使用して、ユーザー名とパスワードを使用して認証されたHttpRequestを作成し、プロキシを介してターゲットホストにトンネルする方法を学習します。
ステップ1-CredentialsProviderオブジェクトを作成する
CredentialsProvider Interfaceは、ユーザーログイン資格情報を保持するコレクションを維持します。 このインターフェイスのデフォルト実装であるBasicCredentialsProviderクラスをインスタンス化することにより、そのオブジェクトを作成できます。
ステップ2-資格情報を設定する
- setCredentials()*メソッドを使用して、CredentialsProviderオブジェクトに必要な資格情報を設定できます。 このメソッドは、2つのオブジェクトを受け入れます-
- * AuthScopeオブジェクト*-ホスト名、ポート番号、認証スキーム名などの詳細を指定する認証スコープ。
- 資格情報オブジェクト-資格情報(ユーザー名、パスワード)を指定します。 以下に示すように、ホストとプロキシの両方に対して* setCredentials()*メソッドを使用して資格情報を設定します。
ステップ3-HttpClientBuilderオブジェクトを作成する
以下に示すように HttpClients クラスの* custom()メソッドを使用して *HttpClientBuilder を作成します-
ステップ4-CredentialsProviderの設定
- setDefaultCredentialsProvider()メソッドを使用して、CredentialsProviderオブジェクトをHttpClientBuilderオブジェクトに設定できます。 以前に作成した *CredentialsProvider オブジェクトをこのメソッドに渡します。
ステップ5-CloseableHttpClientを構築する
- build()メソッドを使用して *CloseableHttpClient オブジェクトをビルドします。
ステップ6-プロキシおよびターゲットホストを作成する
ステップ7-プロキシを設定し、RequestConfigオブジェクトを構築します
- custom()メソッドを使用して *RequestConfig.Builder オブジェクトを作成します。 * setProxy()メソッドを使用して、以前に作成したproxyHostオブジェクトを *RequestConfig.Builder に設定します。 最後に、* build()メソッドを使用して *RequestConfig オブジェクトをビルドします。
ステップ8-HttpGet要求オブジェクトを作成し、それに構成オブジェクトを設定します。
HttpGetクラスをインスタンス化して HttpGet オブジェクトを作成します。 * setConfig()*メソッドを使用して、前の手順で作成した構成オブジェクトをこのオブジェクトに設定します。
ステップ9-リクエストを実行する
HttpHostオブジェクト(ターゲット)とリクエスト(HttpGet)をパラメーターとして* execute()*メソッドに渡すことにより、リクエストを実行します。
例
次の例は、ユーザー名とパスワードを使用してプロキシ経由でHTTP要求を実行する方法を示しています。
出力
実行すると、上記のプログラムは次の出力を生成します-