कुन .NET लगइन विवरण प्रोक्सीका हुन्?
HTTP प्रोक्सी प्रमाणीकरणमा WebProxy.Credentials, गन्तव्य सर्भरको विवरण र DefaultProxyCredentials छुट्याउनुहोस्।
आफ्नो 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 प्रोक्सी बदल्नु पर्दैन।