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 สำหรับงานโทเค็นนั้น

บทความที่เกี่ยวข้อง