پیکربندی پروکسی کلاینت 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 را نگه دارید برای آن کار توکن.