Twilio 的 .NET 辅助库接受自己的 HTTP 传输抽象。它的 SystemNetHttpClient 适配器让该传输使用由应用程序配置的 System.Net.Http.HttpClient。

var proxy = new System.Net.WebProxy(
    "http://proxy.example.net:8080")
{
    Credentials = proxyCredentials
};

var handler = new System.Net.Http.HttpClientHandler
{
    Proxy = proxy,
    UseProxy = true,
    AllowAutoRedirect = false
};

var systemHttp = new System.Net.Http.HttpClient(handler);
var transport = new Twilio.Http.SystemNetHttpClient(systemHttp);
var twilioClient = new Twilio.Clients.TwilioRestClient(
    accountSid, authToken, httpClient: transport);

应用程序提供 proxyCredentials(例如合适的 NetworkCredential),以及现有的 Twilio accountSid 和 authToken。当中介不需要账户时,删除 Credentials 初始化器。从 HTTP 代理列表中选择的 HTTP 端点也是该无认证路由的另一个候选,但须遵守本应用程序的网络策略。

把 twilioClient 传给辅助操作的 client 参数。否则该操作可能使用另行配置的默认客户端。

这里禁用 AllowAutoRedirect,是为了在 SDK 适配器创建自己的底层客户端时保留其默认行为。当你提供自己的 HttpClient 时,其处理程序的设置便由你负责。

在相关工作负载期间保持 systemHttp 存活,并在该工作负载结束时释放它。围绕每个 SDK 请求新建处理程序会创建新的连接池,而不是复用已配置的传输。

相关文章