如何使用asp.net c#获取本地主机的公共IP地址?

如何使用asp.net c#获取本地主机的公共IP地址?,c#,asp.net-mvc,C#,Asp.net Mvc,我的问题是我有127.0.0.1,但这是localhost的私有IP地址 如何使用C#asp.net获取本地主机的公共IP地址?试试下面的代码 IPHostEntry host = Dns.GetHostEntry(Dns.GetHostName()); IPAddress ip= host.AddressList.Where(ip => ip.AddressFamily == AddressFamily.InterNetwork).FirstOrDefault(); 更新 您正在寻找您

我的问题是我有
127.0.0.1
,但这是localhost的私有IP地址

如何使用C#asp.net获取本地主机的公共IP地址?

试试下面的代码

IPHostEntry host = Dns.GetHostEntry(Dns.GetHostName());
IPAddress ip= host.AddressList.Where(ip => ip.AddressFamily == AddressFamily.InterNetwork).FirstOrDefault();
更新 您正在寻找您的公共IP

要获得它,您应该使用http获取服务,如


检查SO中已经存在的答案

您的机器是否有自己的公共IP地址,或者您正在通过路由器?你说的“公共”到底是什么意思?我要通过路由器。并在LocalHost中运行应用程序,这样您就可以使用System.Net.Sockets获得路由器的IP地址,可能是System.Net.Sockets的副本,也可能是其他无数个路由器的IP地址;我得到{192.168.0.168}。但我认为这不正确。当我在google“What is my ip”上查看时,会发现它是103.240.207.59。那么如何才能找到它。@Tarangosai和我在评论中的sadi一样,你想要的是路由器的地址,而不是机器的ip地址。是的,是路由器或ISP提供商的ip地址?@Tarangosai你的ip地址是103.240.207.59。如果有变化,请在这里再次询问,我们会告诉您新的。