我有一个通过Web代理连接到网络的VM . 在VM中,我们有一个应用程序,它使用HttpWebRequest向外部URL发出Web请求 .

我们使用System.Net命名空间类HttpWebRequest和HttpWebResponse进行外部调用 . 使用WebRequest.Proxy属性设置代理 .

WebRequest.Proxy = new WebProxy(...);

在解析DNS名称方面,底层实现的行为是什么 . 这里有两种可能性:

  • 通过DNS服务器获取DNS名称并解析为IP地址,并通过代理与IP地址通信 .

  • 一直使用DNS名称,代理通过执行名称解析来接管基于IP的通信 .

在我们的测试中,我们看到第一种情况,其中IP的名称解析发生在VM中,并且IP用于通过代理进行通信 .

注意:VM只能通过Web代理访问Internet .

尝试更好地了解DNS名称解析如何在Web代理存在的情况下工作 .

谢谢