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);

애플리케이션은 적절한 NetworkCredential 같은 proxyCredentials와 기존 Twilio accountSid 및 authToken을 제공합니다. 중개자가 계정을 필요로 하지 않으면 Credentials 이니셜라이저를 제거하십시오. HTTP 프록시 목록에서 고른 HTTP 엔드포인트도 이 애플리케이션의 네트워크 정책을 따르는 조건으로 인증 없는 경로의 또 다른 후보입니다.

도우미 작업의 client 매개변수에 twilioClient를 전달하십시오. 그렇지 않으면 해당 작업은 별도로 구성된 기본 클라이언트를 사용할 수 있습니다.

여기서 AllowAutoRedirect를 사용하지 않도록 설정한 것은 SDK 어댑터가 자체 기본 클라이언트를 만들 때의 기본 동작을 유지하기 위해서입니다. 직접 HttpClient를 제공하면 그 처리기의 설정은 사용자의 책임이 됩니다.

systemHttp는 관련 작업 부하가 진행되는 동안 유지하고 그 작업 부하가 끝나면 해제하십시오. SDK 요청마다 새 처리기를 만들면 구성된 전송을 재사용하지 않고 새 연결 풀이 생성됩니다.

관련 글