Спросите у .NET, какой прокси он использует для URL
Проверьте выбор прокси по умолчанию для точного адреса, включая решения об обходе и явные переопределения HttpClient.
Спросите политику по умолчанию о точном URL, который не работает:
var destination = new Uri("https://example.com/");
var proxy = HttpClient.DefaultProxy;
Console.WriteLine(proxy.IsBypassed(destination));
Console.WriteLine(proxy.GetProxy(destination));Используйте пространства имен System и System.Net.Http. Держите приватные сведения о возвращенной конечной точке вне публичных журналов.
| Наблюдение | Значение |
|---|---|
IsBypassed(destination) | Выбирает ли эта политика прямое маршрутизирование для этого URL. |
GetProxy(destination) | Результат политики; WebProxy может вернуть исходный адрес назначения при обходе. |
| Реальный запрос через сбойный клиент | Доказательство того, был ли выбранный маршрут пригоден. |
| Отчет об адресе источника со стороны назначения | Выход, наблюдавшийся для этого запроса. |
HttpClient.DefaultProxy обеспечивает маршрутизацию по умолчанию, когда у обработчика нет явной конфигурации прокси, и его инициализация зависит от платформы. Другой назначенный прокси или отключенное использование прокси может выбрать иначе. Проверяйте фактический обработчик, а не только новый диагностический клиент.
Служба может работать и в другой пользовательской среде. Держите выбранный прокси, решение об обходе и результат запроса отдельно при сравнении с интерактивным приложением. Этот код не открывает соединение с назначением и не измеряет исходящий IP; при необходимости собирайте такие доказательства через тот же клиент и маршрут.