我正在尝试访问一个由多个 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地址?
这似乎可行,但我想看看是否有另一种方法可以做到这一点而无需设置委托。当我调试时,我注意到这个委托一直在运行,我不知道这是否会成为问题。
| 归档时间: |
|
| 查看次数: |
5093 次 |
| 最近记录: |