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 コンストラクターを確認してください。

関連記事