Kurie .NET prisijungimo duomenys priklauso tarpiniam serveriui?
Autentifikuodami HTTP tarpinį serverį atskirkite WebProxy.Credentials, paskirties serverio duomenis ir DefaultProxyCredentials.
Savo WebProxy atveju tarpinio serverio paskyrą nustatykite tam objektui. Kitos .NET prisijungimo duomenų savybės skirtos skirtingiems gavėjams:
| Savybė | Gavėjas |
|---|---|
WebProxy.Credentials | Šio objekto vaizduojamas tarpinis serveris. |
HttpClientHandler.Credentials | Paskirties serveris. |
DefaultProxyCredentials | Sistemos numatytasis tarpinis serveris, kai Proxy yra null, o UseProxy yra true. |
Šis .NET 10 pavyzdys pateikia aiškiai nustatytą tarpinį serverį ir jo paskyrą:
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);
Pakeiskite dokumentacijos galinį tašką ir naudokite operatoriaus suteiktą paskyrą. Sąrašo įrašui be autentifikavimo nereikia išgalvoto prisijungimo. Kadangi apdoroklio Proxy aiškiai priskirtas, DefaultProxyCredentials nepakeičia WebProxy.Credentials.
UseDefaultCredentials taikymo sritis irgi priklauso nuo objekto: apdoroklio serverio autentifikavimas ir WebProxy tarpinio serverio autentifikavimas skiriasi. Proceso naudotojo paskyros siuntimas nėra bendras atsakymas į 407.
Jei autentifikavimo iššūkis išlieka, tikrinkite tikrą schemą, pasirinktą galinį tašką ir kliento/apdoroklio egzempliorių. Tarpinio serverio autentifikavimas gali vykti prieš paskirties TLS, todėl svetainės Authorization antraštė negali į jį atsakyti. Palaikymas vis dar priklauso nuo apdoroklio, platformos, paslaugos ir diegimo politikos; visuotinio Windows tarpinio serverio pakeitimo nereikia.