Za lasten WebProxy nastavite račun proxyja na tem objektu. Več drugih lastnosti poverilnic .NET služi drugim prejemnikom:

LastnostPrejemnik
WebProxy.CredentialsProxy, ki ga predstavlja ta objekt.
HttpClientHandler.CredentialsCiljni strežnik.
DefaultProxyCredentialsSistemski privzeti proxy, ko je Proxy null in UseProxy true.

Ta primer .NET 10 poda izrecno nastavljen proxy in njegov lasten 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);

Zamenjajte dokumentacijsko končno točko in uporabite račun, ki ga zagotovi operater. Vnos brez avtentikacije ne potrebuje izmišljene prijave. Ker je Proxy obdelovalnika izrecno nastavljen, DefaultProxyCredentials ne nadomesti WebProxy.Credentials.

UseDefaultCredentials ima tudi od objekta odvisen obseg: strežniška avtentikacija obdelovalnika in proxy avtentikacija objekta WebProxy sta različni. Pošiljanje računa uporabnika procesa ni splošen odgovor na 407.

Če izziv avtentikacije ostaja, preverite dejansko shemo, izbrano točko in primerek odjemalca/obdelovalnika. Avtentikacija proxyja je lahko pred TLS cilja, zato ji glava Authorization spletne strani ne more odgovoriti. Podpora je še vedno odvisna od obdelovalnika, platforme, storitve in politike uvedbe; nastavitev ne zahteva globalne spremembe proxyja Windows.

Sorodni članki