Google.Apis tilbyr en fabrikk for å lage HTTP-klienter med en IWebProxy. Oppgi den når du bygger den genererte tjenesten:

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 bruker API-nøkkeltilgang for en støttet offentlig dataoperasjon. Utelat tildelingen av proxy-legitimasjon for en uautentisert proxy. I den offentlige datagrenen velger du en HTTP-oppføring fra listen over HTTP-proxyer hvis offentlige mellommenn er tillatt. Proxykontoen og API-nøkkelen betjener forskjellige endepunkter.

I Google.Apis 1.73.0 er BaseClientService.Initializer.HttpClientFactory den støttede opprettelseskroken. ForProxy setter den angitte proxyen på klienter som opprettes av den fabrikken. Forespørselsbygging, serialisering og resten av SDK-pipelinen forblir hos tjenesten.

Konfigurer dette før du sender forespørsler. Det er unødvendig å erstatte MessageHandler.InnerHandler på en bygget klient i dette tilfellet, og det kan forkaste andre handlervalg.

En OAuth-legitimasjon kan hente eller fornye tokenet sitt gjennom sin egen HTTP-ordning. Å sette en tjenestefabrikk bestemmer ikke hvordan en separat opprettet legitimasjon får tokens. Kontroller den veien separat hvis tokenhenting er operasjonen som mislykkes gjennom proxyen. Når du bruker GoogleCredential, behold den rutede kopien fra CreateWithHttpClientFactory for det tokenarbeidet.

Relaterte artikler