Za prilagođeni WebProxy postavite proxy račun na taj objekt. Nekoliko drugih .NET svojstava pristupnih podataka služi drugim primateljima:

SvojstvoPrimatelj
WebProxy.CredentialsProxy predstavljen tim objektom.
HttpClientHandler.CredentialsOdredišni poslužitelj.
DefaultProxyCredentialsSistemski zadani proxy kada je Proxy null, a UseProxy true.

Ovaj .NET 10 primjer daje izričito postavljen proxy i njegov vlastiti račun:

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);

Zamijenite dokumentacijsku krajnju točku i koristite račun koji je dao operater. Unos bez autentifikacije ne treba izmišljenu prijavu. Budući da je handlerovo Proxy izričito postavljeno, DefaultProxyCredentials nije zamjena za WebProxy.Credentials.

UseDefaultCredentials također ima opseg vezan uz objekt: autentifikacija handlera prema poslužitelju i autentifikacija WebProxyja prema proxyju različite su. Slanje računa korisnika procesa nije opći odgovor na 407.

Ako zahtjev za autentifikaciju ostaje, provjerite stvarnu shemu, odabranu krajnju točku i instancu klijenta/handlera. Autentifikacija proxyja može prethoditi odredišnom TLS-u, pa joj zaglavlje Authorization web-stranice ne može odgovoriti. Podržana autentifikacija i dalje ovisi o handleru, platformi, usluzi i politici primjene; postavka ne traži globalnu promjenu Windows proxyja.

Povezani članci