Google.Apis는 IWebProxy를 사용하는 HTTP 클라이언트를 만들기 위한 팩터리를 제공합니다. 생성된 서비스를 구성할 때 이를 전달하세요.

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는 해당 팩터리에서 만든 클라이언트에 제공된 프록시를 설정합니다. 요청 구성, serialization 및 나머지 SDK 파이프라인은 서비스에 남습니다.

요청을 보내기 전에 이를 구성하세요. 구성된 클라이언트에서 MessageHandler.InnerHandler를 바꾸는 것은 이 사례에 필요하지 않으며 다른 처리기 선택을 버릴 수 있습니다.

OAuth 자격 증명은 자체 HTTP 구성으로 토큰을 얻거나 새로 고칠 수 있습니다. 서비스의 팩터리를 설정한다고 해서 별도로 만든 자격 증명이 토큰을 얻는 방식이 정해지는 것은 아닙니다. 프록시를 통해 실패하는 작업이 토큰 검색이라면 해당 경로를 별도로 확인하세요. GoogleCredential을 사용할 때 해당 토큰 작업을 위해 CreateWithHttpClientFactory에서 라우팅된 복사본을 유지하세요.

관련 글