编辑:看起来此代码仅返回内部 IP。有没有办法使用 C# 找到我的外部 IP?
所以我一直在使用“标准”方法来获取您自己的 IP 地址:
IPAddress Own;
IPHostEntry host = Dns.GetHostEntry(Dns.GetHostName());
foreach (IPAddress ip in host.AddressList)
{
if (ip.AddressFamily == AddressFamily.InterNetwork)
{
Own = ip;
}
}
问题是这给我的地址在英国的某个地方,而我在澳大利亚 - 显然,当我向谷歌询问我自己的 IP 地址时,我得到的东西与这段代码给我的不同。
那么为什么这段代码不起作用呢?在我看来,使用 DNS 服务器来解析我自己的主机名(这不是 URL,它只是一个计算机名......)有点奇怪,但我相信这是正确的方法。可能出了什么问题?