Использование HTTP-прокси с .NET-клиентом Twilio
Оберните учитывающий прокси System.Net.Http.HttpClient адаптером SystemNetHttpClient от Twilio и передайте его в TwilioRestClient.
Вспомогательная библиотека 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 создаёт новый пул соединений вместо повторного использования настроенного транспорта.