Google.Apis ofereix una fàbrica per crear clients HTTP amb un IWebProxy. Proporcioneu-la quan construïu el servei 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)
    });

L'exemple utilitza accés amb clau API per a una operació recolzada de dades públiques. Ometeu l'assignació de credencials de proxy per a un proxy sense autenticació. En aquesta branca de dades públiques, trieu una entrada HTTP de la llista de proxys HTTP si es permeten intermediaris públics. El compte del proxy i la clau API serveixen punts finals diferents.

A Google.Apis 1.73.0, BaseClientService.Initializer.HttpClientFactory és el ganxo de creació compatible. ForProxy estableix el proxy proporcionat als clients creats per aquesta fàbrica. La construcció de sol·licituds, la serialització i la resta del pipeline del SDK continuen a càrrec del servei.

Configureu-ho abans d'enviar sol·licituds. Substituir MessageHandler.InnerHandler en un client construït no cal per a aquest cas i pot descartar altres opcions de gestor.

Una credencial OAuth pot obtenir o refrescar el seu testimoni mitjançant la seva pròpia disposició HTTP. Establir la fàbrica d'un servei no determina com una credencial creada independentment obté testimonis. Comproveu aquest camí per separat si la recuperació del testimoni és l'operació que falla a través del proxy. Quan useu GoogleCredential, conservueu la còpia encaminada de CreateWithHttpClientFactory per a aquesta feina de testimoni.

Articles relacionats