询问 .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;如有需要,请通过同一个客户端和同一条路由收集这类证据。