.NET'e bir URL için hangi proxy'yi kullanacağını sorun
Tam bir hedef için varsayılan proxy seçimini inceleyin; atlama kararları ve açık HttpClient geçersiz kılmaları dahil.
Varsayılan ilkeye başarısız olan tam URL'yi sorun:
var destination = new Uri("https://example.com/");
var proxy = HttpClient.DefaultProxy;
Console.WriteLine(proxy.IsBypassed(destination));
Console.WriteLine(proxy.GetProxy(destination));Şu ad alanlarını kullanın: System ve System.Net.Http. Döndürülen uç noktaya ilişkin özel bilgileri genel günlüklerin dışında tutun.
| Gözlem | Anlam |
|---|---|
IsBypassed(destination) | Bu ilkenin o URL için doğrudan yönlendirme seçip seçmediği. |
GetProxy(destination) | Bir ilke sonucu; WebProxy özgün hedefi döndürebilir atlandığında. |
| Başarısız istemci üzerinden gerçek bir istek | Seçilen rotanın kullanılabilir olup olmadığına dair kanıt. |
| Hedef tarafından kaynak adresi raporu | O istek için gözlemlenen çıkış. |
HttpClient.DefaultProxy işleyicinin açık bir proxy yapılandırması olmadığında varsayılan yönlendirme sağlar ve başlatılması platforma bağlıdır. Başka bir atanmış proxy veya devre dışı bırakılmış proxy kullanımı farklı seçim yapabilir. Yalnızca yeni bir tanılama istemcisini değil, gerçek işleyiciyi inceleyin.
Bir hizmet başka bir kullanıcı ortamında da çalışabilir. Etkileşimli bir uygulamayla karşılaştırırken seçilen proxy'yi, atlama kararını ve istek sonucunu ayrı tutun. Bu kod hedef bağlantısı açmaz ve çıkış IP'si ölçmez; gerekirse bu tür kanıtları aynı istemci ve rota üzerinden toplayın.