获取HttpWebRequest使用的IP地址

时间:2014-09-10 17:27:54

标签: c# asp.net .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;
    }

How to get IP address of the server that HttpWebRequest connected to?

这似乎有效,但我想知道是否有其他方法可以做到这一点,而无需设置代理。当我调试时,我发现这个代表一直在运行,我不知道这是不是一个问题。

0 个答案:

没有答案