2010-08-10 284 views
0

如何在.NET中获得Web /应用程序服务器的IP地址?不是客户端IP地址,而是服务器IP地址。如何在.NET中获取服务器的IP地址?


我只是发现了一些关于server variables

+2

你想要的外部IP地址?本地网络上的IP地址?发起请求的URL的IP地址? – McKay 2010-08-10 18:06:22

+0

@McKay我正在寻找Web服务器的外部IP地址。 – 2010-08-10 18:10:07

+0

所以,问题是服务器的外部IP地址不是服务器自己知道的。这是外部硬件知道的事情。我的外部IP地址由我的ISP控制。我碰巧知道它是什么,但我不能直接得知它。 – McKay 2010-08-10 18:12:25

回答

2

你可能想要的东西类似下面的代码,以获得当前机器的所有IP地址。但是,如果您有多个请求,它不会告诉您哪个网络适配器(以及IP地址)有特定的请求。

String strHostName = Dns.GetHostName(); 
    Console.WriteLine("Host Name: " + strHostName); 

    // Find host by name 
    IPHostEntry iphostentry = Dns.GetHostByName(strHostName); 

    // Enumerate IP addresses 
    foreach(IPAddress ipaddress in iphostentry.AddressList) 
    { 
     Console.WriteLine(ipaddress.ToString()); 
    } 
1

要获得my own IP address in C#

IPHostEntry ipEntry = DNS.GetHostByName (Dns.GetHostName()); 
IPAddress [] addr = ipEntry.AddressList; 

要获取其他的机器

IPHostEntry ipEntry = DNS.GetHostByName (strHostName); 
IPAddress [] addr = ipEntry.AddressList; 
-2

要获取IP地址(和Coutnry /位置)的服务器的编程我使用Utrace.de API 。它也会返回一个包含IP地址和位置信息的XML。

例子查询:http://xml.utrace.de/?query=google.com

+0

我认为他正在寻找发现他当前的服务器的IP地址,并不知道如何获取数据传递给utrace.de – McKay 2010-08-10 18:22:29

+0

哦..我明白了。我应该给域名的例子..而不是IP。 – ankitjaininfo 2010-08-10 18:24:43