Google.Apis tilbyder en fabrik til at oprette HTTP-klienter med en IWebProxy. Angiv den, når du opretter den genererede tjeneste:

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

Eksemplet bruger API-nøgleadgang til en understøttet offentlig dataoperation. Udelad tildelingen af proxy-legitimationsoplysninger for en uautoriseret proxy. I den offentlige datagren skal du vælge en HTTP-post fra listen over HTTP-proxyer, hvis offentlige mellemled er tilladt. Proxyens konto og API-nøglen betjener forskellige endepunkter.

I Google.Apis 1.73.0 er BaseClientService.Initializer.HttpClientFactory den understøttede oprettelseskrog. ForProxy sætter den angivne proxy på klienter, der oprettes af fabrikken. Anmodningsopbygning, serialisering og resten af SDK-pipelinen forbliver hos tjenesten.

Konfigurer dette, før du sender anmodninger. Det er unødvendigt at erstatte MessageHandler.InnerHandler på en oprettet klient i dette tilfælde og kan kassere andre handlervalg.

En OAuth-legitimationsoplysning kan hente eller forny sit token via sin egen HTTP-ordning. Indstilling af en tjenestefabrik bestemmer ikke, hvordan en separat oprettet legitimationsoplysning får tokens. Kontroller denne vej separat, hvis tokenhentning er den handling, der fejler gennem proxyen. Når du bruger GoogleCredential, behold den rutede kopi fra CreateWithHttpClientFactory til det tokenarbejde.

Relaterede artikler