Google.Apis oferă o fabrică pentru crearea clienților HTTP cu un IWebProxy. Furnizați-o la construirea serviciului generat:

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

Exemplul folosește acces cu cheie API pentru o operațiune acceptată pe date publice. Omiteți atribuirea acreditărilor proxy pentru un proxy neautentificat. În acea ramură de date publice, alegeți o intrare HTTP din lista de proxy-uri HTTP dacă intermediarii publici sunt permisibili. Contul proxy și cheia API deservesc puncte finale diferite.

În Google.Apis 1.73.0, BaseClientService.Initializer.HttpClientFactory este cârligul de creare acceptat. ForProxy setează proxy-ul furnizat pe clienții creați de acea fabrică. Construirea cererilor, serializarea și restul conductei SDK rămân la serviciu.

Configurați acest lucru înainte de a emite cereri. Înlocuirea MessageHandler.InnerHandler pe un client construit nu este necesară în acest caz și poate elimina alte opțiuni de handler.

O acreditare OAuth își poate obține sau reîmprospăta tokenul prin propria aranjare HTTP. Setarea fabricii unui serviciu nu determină modul în care o acreditare creată separat obține tokenuri. Verificați acea cale separat dacă recuperarea tokenului este operațiunea care eșuează prin proxy. Când utilizați GoogleCredential, păstrați copia rutată din CreateWithHttpClientFactory pentru acea activitate de token.

Articole similare