我们如何才能知道我们在客户端(=我们的计算机)上的外部IP地址;不知道我们的内部IP地址,不能通过现有的网站,也不能通过我们为这个问题编造的新网站;仅仅通过纯粹的客户端操作系统命令脚本和/或JavaScript?这有可能吗?事实上,如果有人这样做,他们应该筹集100万美元,因为据我所知,没有人在这个星球上的任何网站上提出过答案,A.R.
发布于 2013-04-11 00:53:24
我认为有人做了ask that already,但是使用C#
IPHostEntry host;
string localIP = "?";
host = Dns.GetHostEntry(Dns.GetHostName());
foreach (IPAddress ip in host.AddressList)
{
if (ip.AddressFamily == AddressFamily.InterNetwork)
{
localIP = ip.ToString();
}
}
return localIP;
我不知道您的目标操作系统是什么,但您可以创建一个控制台应用程序并从中读取值
希望能有所帮助
发布于 2013-04-11 01:06:26
正如Gricha提到的,它可以通过外部站点请求。还有一个开源项目也是托管的。
您可以通过调用以下接口获取JSON格式的对外IP信息:
curl http://ip2country.sourceforge.net/ip2c.php?format=JSON
在C#中,必须有类似的方法来调用web API。
项目信息在这里:http://code.google.com/p/ip-address/
发布于 2013-04-11 00:46:33
您无法从简单的系统调用中找到外部ip地址。您可以从路由器接收它,这可能是特定于路由器的,或者您需要从lan外部进行呼叫。通常,这是通过HTTP请求或其他一些流行的互联网服务来完成的。
此外,本地网络中的单个计算机没有外部ip。路由器具有一个地址,并将数据包转发到各个设备。
https://stackoverflow.com/questions/15931708
复制相似问题