Налаштування проксі клієнта YouTube .NET за допомогою HttpClientFactory.ForProxy
Використовуйте Google.Apis.Http.HttpClientFactory.ForProxy в ініціалізаторі служби замість заміни внутрішнього обробника клієнта YouTube після створення.
Google.Apis надає фабрику для створення HTTP-клієнтів з IWebProxy. Передайте її під час створення згенерованої служби:
var proxy = new System.Net.WebProxy("http://proxy.example:8080");
proxy.Credentials = new System.Net.NetworkCredential(
proxyUser, proxyPassword);
using var youtube = new Google.Apis.YouTube.v3.YouTubeService(
new Google.Apis.Services.BaseClientService.Initializer
{
ApplicationName = "ExampleVideoClient",
ApiKey = apiKey,
HttpClientFactory =
Google.Apis.Http.HttpClientFactory.ForProxy(proxy)
});Приклад використовує доступ за ключем API для підтримуваної операції з публічними даними. Пропустіть призначення облікових даних проксі для проксі без автентифікації. У цій гілці публічних даних виберіть HTTP-запис зі списку HTTP-проксі, якщо публічні посередники дозволені. Обліковий запис проксі та ключ API обслуговують різні кінцеві точки.
У Google.Apis 1.73.0 BaseClientService.Initializer.HttpClientFactory є підтримуваним хуком створення. ForProxy встановлює наданий проксі на клієнтах, створених цією фабрикою. Побудова запитів, серіалізація та решта конвеєра SDK залишаються за службою.
Налаштуйте це перед надсиланням запитів. Заміна MessageHandler.InnerHandler у створеному клієнті тут не потрібна і може відкинути інші вибори обробника.
Облікові дані OAuth можуть отримувати або оновлювати свій токен через власну схему HTTP. Налаштування фабрики служби не визначає, як окремо створені облікові дані отримують токени. Перевірте цей шлях окремо, якщо отримання токена — це операція, яка не проходить через проксі. Під час використання GoogleCredential збережіть перенаправлену копію з CreateWithHttpClientFactory для цієї роботи з токеном.