我正在尝试在C#中查找响应我的WebRequest的ip地址(不是主机名)。我不想做DNS解析,因为在这种情况下,返回的DNS记录不是响应请求的服务器。对于ex:
客户端->负载均衡器-> Web服务器
DNS服务器将使用负载均衡器的IP进行响应。假设响应的Web服务器不通过负载均衡器返回,那么IP地址就是我要查找的实际Web服务器。
发布于 2009-12-17 16:42:48
你有权访问服务器端的代码吗?还是到web服务器配置?您可以随时将机器的IP或任何您想要的标识符放在自定义标头中,然后在客户机上查找它。
至于你最初的问题,我不相信HttpWebRequest/HttpWebResponse类会在任何地方公开信息。
发布于 2009-12-29 14:02:52
我认为你将不得不去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();
https://stackoverflow.com/questions/1920229
复制相似问题