首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C#使用Dns.GetHostEntry()返回另一个国家的IP地址

问C#使用Dns.GetHostEntry()返回另一个国家的IP地址
EN

Stack Overflow用户
提问于 2013-11-12 11:34:10
回答 1查看 2.9K关注 0票数 0

编辑:看起来这段代码只返回内部IP。有没有办法用C#找到我的外部IP?

因此,我一直在使用“标准”方法来获取您自己的IP地址:

代码语言:javascript
复制
IPAddress Own;
IPHostEntry host = Dns.GetHostEntry(Dns.GetHostName());
foreach (IPAddress ip in host.AddressList)
{
    if (ip.AddressFamily == AddressFamily.InterNetwork)
    {
        Own = ip;
    }
}

问题是这给我的地址在英国的某个地方,我在澳大利亚--很明显,当我向谷歌询问我自己的IP地址时,我得到的东西和代码给我的不一样。

那么,为什么这个代码不起作用呢?在我看来,使用DNS服务器解析我自己的主机名有点奇怪(它不是URL,它只是一个计算机名称.),但我相信这是正确的方法。会有什么问题吗?

EN

回答 1

Stack Overflow用户

发布于 2013-11-12 11:47:36

您的系统有静态IP地址吗?通常,我们使用动态IP (作为DHCP客户端)或本地IP地址作为办公地址。

如果不使用静态IP地址,Google可以显示ISP的IP地址,而不是本地系统。

您可以为您的本地系统使用任何IP,该系统可能属于您所在国家或国外的多个本地网络。

您的代码看起来非常好,它显示的是本地IP地址。请与网络配置确认。

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

https://stackoverflow.com/questions/19928060

复制
相关文章

相似问题

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