Google.Apis предоставя фабрика за създаване на HTTP клиенти с IWebProxy. Подайте я при изграждането на генерираната услуга:

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

Примерът използва достъп с API ключ за поддържана операция с публични данни. Пропуснете задаването на прокси идентификационни данни за прокси без удостоверяване. В този клон за публични данни изберете HTTP запис от списъка с HTTP проксита, ако публичните посредници са разрешени. Акаунтът на проксито и API ключът обслужват различни крайни точки.

В Google.Apis 1.73.0 BaseClientService.Initializer.HttpClientFactory е поддържаната точка за създаване. ForProxy задава подаденото прокси на клиентите, създадени от тази фабрика. Изграждането на заявки, сериализацията и останалата част от SDK потока остават при услугата.

Конфигурирайте това преди да изпращате заявки. Замяната на MessageHandler.InnerHandler на вече създаден клиент е ненужна в този случай и може да отхвърли други избори на манипулатор.

OAuth идентификационни данни могат да получат или обновят токена си чрез собствена HTTP схема. Задаването на фабрика на услугата не определя как отделно създадени идентификационни данни получават токени. Проверете този път отделно, ако получаването на токен е операцията, която се проваля през проксито. Когато използвате GoogleCredential, запазете маршрутизираното копие от CreateWithHttpClientFactory за тази работа с токена.

Подобни статии