Twilio Java SDK 13:使用 Apache HttpClient 5 配置代理
配置能识别代理的 NetworkHttpClient,并将其传入 TwilioRestClient,无需重建 SDK 的请求层。
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 构造函数。