নিজস্ব WebProxy-এর জন্য প্রক্সি অ্যাকাউন্ট সেই অবজেক্টে রাখুন। অন্য .NET লগইন বৈশিষ্ট্যগুলোর প্রাপক আলাদা:

বৈশিষ্ট্যপ্রাপক
WebProxy.Credentialsসেই অবজেক্টে উপস্থাপিত প্রক্সি।
HttpClientHandler.Credentialsগন্তব্য সার্ভার।
DefaultProxyCredentialsসিস্টেমের ডিফল্ট প্রক্সি, যখন Proxy null এবং UseProxy true।

এই .NET 10 উদাহরণ স্পষ্টভাবে নির্দিষ্ট প্রক্সি ও তার নিজস্ব অ্যাকাউন্ট দেয়:

using System;
using System.Net;
using System.Net.Http;

string password = Environment.GetEnvironmentVariable("PROXY_PASSWORD")
    ?? throw new InvalidOperationException("Set PROXY_PASSWORD");

var proxy = new WebProxy("http://203.0.113.10:8080")
{
    Credentials = new NetworkCredential("proxy-user", password)
};

using var handler = new HttpClientHandler
{
    Proxy = proxy,
    UseProxy = true
};
using var client = new HttpClient(handler)
{
    Timeout = TimeSpan.FromSeconds(15)
};

using var response = await client.GetAsync("https://example.com/");
Console.WriteLine((int)response.StatusCode);

নথির এন্ডপয়েন্ট বদলে অপারেটরের দেওয়া অ্যাকাউন্ট ব্যবহার করুন। প্রমাণীকরণহীন তালিকা এন্ট্রির জন্য কল্পিত লগইন লাগে না। হ্যান্ডলারের Proxy স্পষ্টভাবে দেওয়া, তাই DefaultProxyCredentials, WebProxy.Credentials-এর বিকল্প নয়।

UseDefaultCredentials-এর সীমাও অবজেক্ট অনুযায়ী: হ্যান্ডলারের সার্ভার প্রমাণীকরণ ও WebProxy-এর প্রক্সি প্রমাণীকরণ আলাদা। প্রক্রিয়ার ব্যবহারকারীর অ্যাকাউন্ট পাঠানো 407-এর সাধারণ উত্তর নয়।

প্রমাণীকরণ চ্যালেঞ্জ চললে আসল পদ্ধতি, নির্বাচিত এন্ডপয়েন্ট ও ক্লায়েন্ট/হ্যান্ডলার ইনস্ট্যান্স দেখুন। প্রক্সি প্রমাণীকরণ গন্তব্য TLS-এর আগে হতে পারে, তাই ওয়েবসাইটের Authorization হেডার তার উত্তর দিতে পারে না। সমর্থন এখনও হ্যান্ডলার, প্ল্যাটফর্ম, সেবা ও স্থাপনার নীতির ওপর নির্ভর করে; সার্বিক Windows প্রক্সি বদলানো দরকার নেই।

সম্পর্কিত নিবন্ধ