如何获取服务器的IP地址响应WebResponse C#

时间:2009-12-17 08:26:19

标签: c# webresponse

我正在尝试在C#中找到响应我的WebRequest的ip地址(不是主机名)。我不想进行DNS解析,因为它们返回的DNS记录不是响应请求的服务器。例如:

客户 - >负载均衡器 - > Web服务器

DNS服务器将使用Load Balancer的IP进行响应。假设响应的Web服务器没有通过Load Balancer返回,那么IP地址将是我想要找到的实际Web服务器。

2 个答案:

答案 0 :(得分:1)

您是否可以访问服务器端代码?或者到Web服务器配置?您可以随时将机器IP或您想要的任何标识符放在自定义标头中,并在客户端上查找。

至于你原来的问题,我不相信HttpWebRequest / HttpWebResponse类在任何地方都会公开信息。

答案 1 :(得分:1)

我认为你必须进行OSI浸渍,并创建和利用自己的插座;
那么你将有权访问RemoteEndPoint属性(至少在你的套接字连接或连接之后),如下所示:

Socket sprocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
sprocket.Connect("www.google.com", 80);
string IPAddressOfRespondingServer = ((IPEndPoint)sprocket.RemoteEndPoint).Address.ToString();