Configurare un proxy client YouTube .NET con HttpClientFactory.ForProxy
Usare Google.Apis.Http.HttpClientFactory.ForProxy nell'inizializzatore del servizio invece di sostituire l'handler interno di un client YouTube dopo la costruzione.
Google.Apis fornisce una factory per creare client HTTP con un IWebProxy. Forniscila quando costruisci il servizio generato:
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)
});L'esempio usa l'accesso con chiave API per un'operazione supportata sui dati pubblici. Omettere l'assegnazione delle credenziali proxy per un proxy non autenticato. In quel ramo dei dati pubblici, scegliere una voce HTTP dalla lista dei proxy HTTP se gli intermediari pubblici sono consentiti. L'account del proxy e la chiave API servono endpoint diversi.
In Google.Apis 1.73.0, BaseClientService.Initializer.HttpClientFactory è l'hook di creazione supportato. ForProxy imposta il proxy fornito sui client creati da quella factory. La costruzione delle richieste, la serializzazione e il resto della pipeline SDK restano al servizio.
Configurare questo prima di inviare richieste. Sostituire MessageHandler.InnerHandler su un client costruito non è necessario in questo caso e può scartare altre scelte di handler.
Una credenziale OAuth può ottenere o aggiornare il proprio token tramite la propria disposizione HTTP. Impostare la factory di un servizio non determina come una credenziale creata separatamente ottenga i token. Controllare quel percorso separatamente se il recupero del token è l'operazione che fallisce tramite il proxy. Quando si usa GoogleCredential, conservare la copia instradata da CreateWithHttpClientFactory per quel lavoro sul token.