首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我们如何知道我们自己在客户端上的外部ip地址

我们如何知道我们自己在客户端上的外部ip地址
EN

Stack Overflow用户
提问于 2013-04-11 00:43:23
回答 4查看 250关注 0票数 0

我们如何才能知道我们在客户端(=我们的计算机)上的外部IP地址;不知道我们的内部IP地址,不能通过现有的网站,也不能通过我们为这个问题编造的新网站;仅仅通过纯粹的客户端操作系统命令脚本和/或JavaScript?这有可能吗?事实上,如果有人这样做,他们应该筹集100万美元,因为据我所知,没有人在这个星球上的任何网站上提出过答案,A.R.

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-04-11 00:53:24

我认为有人做了ask that already,但是使用C#

代码语言:javascript
运行
复制
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;

我不知道您的目标操作系统是什么,但您可以创建一个控制台应用程序并从中读取值

希望能有所帮助

票数 1
EN

Stack Overflow用户

发布于 2013-04-11 01:06:26

正如Gricha提到的,它可以通过外部站点请求。还有一个开源项目也是托管的。

您可以通过调用以下接口获取JSON格式的对外IP信息:

代码语言:javascript
运行
复制
curl http://ip2country.sourceforge.net/ip2c.php?format=JSON

在C#中,必须有类似的方法来调用web API。

项目信息在这里:http://code.google.com/p/ip-address/

票数 1
EN

Stack Overflow用户

发布于 2013-04-11 00:46:33

您无法从简单的系统调用中找到外部ip地址。您可以从路由器接收它,这可能是特定于路由器的,或者您需要从lan外部进行呼叫。通常,这是通过HTTP请求或其他一些流行的互联网服务来完成的。

此外,本地网络中的单个计算机没有外部ip。路由器具有一个地址,并将数据包转发到各个设备。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15931708

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档