Zein .NET kredentzial dagozkio proxyari?
Bereizi WebProxy.Credentials, helmugako zerbitzariaren kredentzialak eta DefaultProxyCredentials HTTP proxy bat autentifikatzean.
WebProxy pertsonalizatu baterako, jarri proxy-kontua objektu horretan. .NETeko beste kredentzial-propietate batzuek hartzaile desberdinak dituzte:
| Propietatea | Hartzailea |
|---|---|
WebProxy.Credentials | Objektu horrek ordezkatzen duen proxya. |
HttpClientHandler.Credentials | Helmugako zerbitzaria. |
DefaultProxyCredentials | Sistemaren 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.