WebProxy pertsonalizatu baterako, jarri proxy-kontua objektu horretan. .NETeko beste kredentzial-propietate batzuek hartzaile desberdinak dituzte:

PropietateaHartzailea
WebProxy.CredentialsObjektu horrek ordezkatzen duen proxya.
HttpClientHandler.CredentialsHelmugako zerbitzaria.
DefaultProxyCredentialsSistemaren proxy lehenetsia, Proxy null eta UseProxy true direnean.

.NET 10 adibide honek proxy esplizitua eta haren kontu propioa ematen ditu:

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

Ordeztu dokumentazioko puntua eta erabili operadoreak emandako kontua. Autentifikaziorik gabeko zerrenda-sarrerak ez du asmatutako saio-hasierarik behar. Kudeatzailearen Proxy esplizituki esleitzen denez, DefaultProxyCredentials ez da WebProxy.Credentials propietatearen ordezkoa.

UseDefaultCredentials propietateak ere objektuaren araberako esparrua du: kudeatzailearen zerbitzari-autentifikazioa eta WebProxyren proxy-autentifikazioa desberdinak dira. Prozesuaren erabiltzailearen kontua bidaltzea ez da 407rako erantzun orokorra.

Autentifikazio-erronkak jarraitzen badu, egiaztatu benetako eskema, aukeratutako puntua eta bezero/kudeatzaile instantzia. Proxy-autentifikazioa helmugaren TLSaren aurretik gerta daiteke; beraz, webgunearen Authorization goiburuak ezin dio erantzun. Onartutako autentifikazioa kudeatzailearen, plataformaren, zerbitzuaren eta hedapen-politikaren araberakoa da oraindik; ez da Windowsen proxy-aldaketa globalik behar.

Erlazionatutako artikuluak