Наладка праксі кліента YouTube .NET з дапамогай HttpClientFactory.ForProxy
Выкарыстоўвайце Google.Apis.Http.HttpClientFactory.ForProxy у ініцыялізатары службы замест замены ўнутранага апрацоўшчыка кліента YouTube пасля стварэння.
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 для гэтай працы з токенам.