HttpClientFactory.ForProxy के साथ YouTube .NET क्लाइंट प्रॉक्सी कॉन्फ़िगर करें
YouTube क्लाइंट बनाने के बाद उसके आंतरिक हैंडलर को बदलने के बजाय सेवा इनिशियलाइज़र में Google.Apis.Http.HttpClientFactory.ForProxy का उपयोग करें।
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 उस फ़ैक्टरी द्वारा बनाए गए क्लाइंट पर दिया गया प्रॉक्सी सेट करता है। अनुरोध निर्माण, सीरियलाइज़ेशन और बाकी SDK पाइपलाइन सेवा के पास रहते हैं।
अनुरोध भेजने से पहले इसे कॉन्फ़िगर करें। बनाए गए क्लाइंट पर MessageHandler.InnerHandler बदलना इस मामले में अनावश्यक है और अन्य हैंडलर विकल्पों को त्याग सकता है।
OAuth क्रेडेंशियल अपनी HTTP व्यवस्था के माध्यम से अपना टोकन प्राप्त या रीफ़्रेश कर सकता है। किसी सेवा की फ़ैक्टरी सेट करना यह निर्धारित नहीं करता कि अलग से बनाया गया क्रेडेंशियल टोकन कैसे प्राप्त करता है। यदि प्रॉक्सी के माध्यम से विफल होने वाला संचालन टोकन पुनर्प्राप्ति है तो उस पथ को अलग से जाँचें। GoogleCredential का उपयोग करते समय उस टोकन कार्य के लिए CreateWithHttpClientFactory से रूट किया गया कॉपी रखें।