Chiedete a .NET quale proxy userebbe per un URL
Esaminate la selezione predefinita del proxy per una destinazione esatta, incluse le decisioni di bypass e le sostituzioni esplicite di HttpClient.
Chiedete ai criteri predefiniti l'URL esatto che non funziona:
var destination = new Uri("https://example.com/");
var proxy = HttpClient.DefaultProxy;
Console.WriteLine(proxy.IsBypassed(destination));
Console.WriteLine(proxy.GetProxy(destination));Usate gli spazi dei nomi System e System.Net.Http. Tenete le informazioni private sull'endpoint restituito fuori dai log pubblici.
| Osservazione | Significato |
|---|---|
IsBypassed(destination) | Se questi criteri scelgono l'instradamento diretto per quell'URL. |
GetProxy(destination) | Un risultato dei criteri; WebProxy può restituire la destinazione originale quando viene ignorata. |
| Una richiesta reale tramite il client che non funziona | Prova che la rotta scelta fosse utilizzabile. |
| Un rapporto sull'indirizzo di origine lato destinazione | L'uscita osservata per quella richiesta. |
HttpClient.DefaultProxy fornisce l'instradamento predefinito quando il gestore non ha una configurazione proxy esplicita, e la sua inizializzazione dipende dalla piattaforma. Un altro proxy assegnato o uso del proxy disabilitato può scegliere diversamente. Esaminate il gestore effettivo, non solo un nuovo client diagnostico.
Un servizio può anche essere eseguito con un altro ambiente utente. Tenete separati proxy selezionato, decisione di bypass ed esito della richiesta quando lo confrontate con un'applicazione interattiva. Questo codice non apre alcuna connessione alla destinazione e non misura alcun IP di uscita; raccogliete tali prove tramite lo stesso client e la stessa rotta se necessario.