ਆਪਣੇ 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 ਪ੍ਰਾਕਸੀ ਬਦਲਣ ਦੀ ਲੋੜ ਨਹੀਂ।

ਸੰਬੰਧਿਤ ਲੇਖ