Twilio Java SDK 13: Apache HttpClient 5 でプロキシを構成する
プロキシ対応の NetworkHttpClient を構成し、SDK のリクエスト層を作り直さずに TwilioRestClient へ渡します。
Twilio Java 13.1.0 は NetworkHttpClient で Apache HttpClient 5 のビルダーを受け取ります。そのビルダーのプロキシを構成し、トランスポートを SDK クライアントへ渡します。
import com.twilio.http.NetworkHttpClient;
import com.twilio.http.TwilioRestClient;
import org.apache.hc.client5.http.impl.classic.HttpClientBuilder;
import org.apache.hc.core5.http.HttpHost;
var apacheBuilder = HttpClientBuilder.create()
.setProxy(new HttpHost("http", "proxy.example", 8080));
var transport = new NetworkHttpClient(apacheBuilder);
var twilioClient = new TwilioRestClient.Builder(accountSid, authToken)
.httpClient(transport)
.build();accountSid と authToken はアプリケーションの Twilio 資格情報です。この断片はクライアントを構築します。リソース操作のクライアントを受け取るオーバーロードで使用してください。たとえば create(twilioClient) です。
http スキームはプロキシ接続を表します。Twilio の API URL は HTTPS のままです。プロキシアカウントなしで許可された公開 API テストには、HTTP プロキシ一覧の HTTP アドレスをビルダーのプロキシホストとポートに使えます。
認証付きプロキシの場合は、NetworkHttpClient を構築する前に、プロキシホストとポートに限定した Apache 資格情報プロバイダーを添付します。そのアカウントは Twilio API アカウントとは別です。
Apache クライアントの世代に合わせる
以前の Twilio リリースは org.apache.http の下で Apache 4 クラスを使用していました。Apache 5 は org.apache.hc パッケージと異なる HttpHost コンストラクター署名を使います。この例を応用する前に、アプリケーションが選択した Twilio バージョンの NetworkHttpClient コンストラクターを確認してください。