Ποια διαπιστευτήρια .NET ανήκουν στο proxy;
Διακρίνετε WebProxy.Credentials, διαπιστευτήρια διακομιστή προορισμού και DefaultProxyCredentials κατά τον έλεγχο ταυτότητας HTTP proxy.
Για προσαρμοσμένο WebProxy, βάλτε τον λογαριασμό proxy σε εκείνο το αντικείμενο. Άλλες ιδιότητες διαπιστευτηρίων .NET εξυπηρετούν διαφορετικούς παραλήπτες:
| Ιδιότητα | Παραλήπτης |
|---|---|
WebProxy.Credentials | Το proxy που αναπαριστά εκείνο το αντικείμενο. |
HttpClientHandler.Credentials | Ο διακομιστής προορισμού. |
DefaultProxyCredentials | Το προεπιλεγμένο proxy συστήματος όταν το Proxy είναι null και το UseProxy είναι true. |
Αυτό το παράδειγμα .NET 10 δίνει ρητά ορισμένο proxy και τον δικό του λογαριασμό:
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);
Αντικαταστήστε το τελικό σημείο τεκμηρίωσης και χρησιμοποιήστε λογαριασμό του διαχειριστή. Καταχώριση χωρίς έλεγχο ταυτότητας δεν χρειάζεται επινοημένη σύνδεση. Εφόσον το Proxy του χειριστή ορίζεται ρητά, το DefaultProxyCredentials δεν αντικαθιστά το WebProxy.Credentials.
Το UseDefaultCredentials έχει επίσης πεδίο ανά αντικείμενο: ο έλεγχος ταυτότητας διακομιστή του χειριστή διαφέρει από τον έλεγχο proxy ενός WebProxy. Η αποστολή λογαριασμού του χρήστη της διεργασίας δεν είναι γενική απάντηση στο 407.
Αν η απαίτηση ελέγχου ταυτότητας επιμένει, ελέγξτε το πραγματικό σχήμα, το επιλεγμένο τελικό σημείο και το αντικείμενο πελάτη/χειριστή. Ο έλεγχος proxy μπορεί να προηγείται του TLS προορισμού, άρα μια κεφαλίδα Authorization του ιστοτόπου δεν μπορεί να απαντήσει. Η υποστήριξη εξακολουθεί να εξαρτάται από χειριστή, πλατφόρμα, υπηρεσία και πολιτική ανάπτυξης· δεν απαιτείται καθολική αλλαγή proxy Windows.