2017-03-22 19 views
1

OkHttpを使用してプロキシのようなアプリケーションを構築しています。このアプリケーションは異なる要求を別のプロキシに転送する必要があります。OkHttpでリクエストごとにプロキシを設定する方法は?

私は1つのリクエストのプロキシを設定するOkHttpで任意のAPIを見つけられませんでした要求のプロキシを選択すると、要求のホスト上だけでなく、依存んので、 とProxySelectorはどちらか私の問題を解決することはできません。

答えて

2

okhttpClient.newBuilder()を使用して別のクライアントを作成すると、各クライアントは非常に軽量になります。彼らは、たとえば、同じ接続プールとディスパッチャを共有します。 OkHttpClient’s docs on sharingを参照してください。

2

OkHttpClientのプールは、接続が必要なプロキシごとに1つずつ作成できます。プロキシを介してリクエストを行う必要がある場合は、そのプロキシを使用するように設定されたOkHttpClientを取得し、リクエストを作成するために使用します(必要に応じてクライアントを作成します)。

接続する必要があるプロキシの数によっては、頻繁に使用されないクライアントをクリアしてメモリを節約することもできます。

+2

'okhttpClient.newBuilder()'を使って別のクライアントを作成すると、各クライアントは非常に軽量になります。彼らは、たとえば、同じ接続プールとディスパッチャを共有します。 [共有に関するOkHttpClientのドキュメント](https://square.github.io/okhttp/3.x/okhttp/okhttp3/OkHttpClient.html)を参照してください。 –

+0

@JesseWilsonあなたの答えを投稿してください、私はそれを受け入れます。 – aLeX

関連する問題