向默认策略询问那个会失败的确切 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;如有需要,请通过同一个客户端和同一条路由收集这类证据。

相关文章