获取 HttpWebRequest 使用的 IP 地址

Ano*_*per 5 .net c# asp.net

我正在尝试访问一个由多个 IP 托管的域。当 IP 范围发生变化时,我们的防火墙将阻止任何请求,因为该 IP 不被允许。

该应用程序会通知我们它无法建立连接,但它不会告诉我们它尝试使用哪个 IP 地址。

我使用 HTTPWebRequest 来创建请求,并使用 HttpWebResponse 来接收响应

当使用 URL 实例化或发出请求后,HttpWebRequest 的属性中似乎没有 IP 地址。

我很犹豫是否可以从 HTTPWebResponse 中获取此信息,因为我不知道如果防火墙阻止它,它是否会有 IP 地址。

提到的一个例子是设置一个委托:

static void Main(string[] args)
        {
            HttpWebRequest req = (HttpWebRequest)WebRequest.Create("http://www.microsoft.com");
            req.ServicePoint.BindIPEndPointDelegate = new BindIPEndPoint(BindIPEndPoint1);

            Console.ReadKey();
        }

        public static IPEndPoint BindIPEndPoint1(ServicePoint servicePoint, IPEndPoint remoteEndPoint, int retryCount)
    {
        string IP = remoteEndPoint.ToString();
        return remoteEndPoint;
    }
Run Code Online (Sandbox Code Playgroud)

如何获取HttpWebRequest连接的服务器的IP地址?

这似乎可行,但我想看看是否有另一种方法可以做到这一点而无需设置委托。当我调试时,我注意到这个委托一直在运行,我不知道这是否会成为问题。