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 для гэтай працы з токенам.

Падобныя артыкулы