如何使用C#获取我的全局IP地址?

3

如何获取我的外部可见IP地址?

到目前为止,所有的回答都对我没用。我的应用程序在此时不会连接到任何东西,而我需要它向用户显示IP地址。

有没有办法做到这一点?

谢谢,我已经决定解析whatismyip网站。简单得多。


4
“global” IP地址是什么意思? - Jon
1
我敢打赌他指的是他的外部可见IP地址(从任何NAT的另一侧)。 - Michael Petrotta
请查看此答案 https://dev59.com/DnVD5IYBdhLWcg3wKYT-#1319527 - Bala R
1
@MichaelPetrotta:可能是这样,但他必须更具体。请记住,任何系统都可以有许多 IP 地址,也可以有 IPv6 地址等。这个问题确实需要澄清。 - Jon
@Jon:是的。这就像为什么不能用浮点数表示货币,为什么在许多语言中string != same_string一样,这些简单的事情很少有人能直观地理解。 - Michael Petrotta
显示剩余2条评论
3个回答

1

这取决于你的意思。

如果你正在运行一个ASP.NET应用程序,并想要获取发送请求的主机地址,你可以在这里这样做:

Request.ServerVariables["LOCAL_ADDR"];

如果您想直接获取主机上网络接口的信息(无论是在ASP.NET还是任何.NET应用程序上下文中),请查看IPAddressInformation类。具体来说,是Address属性。

后面的链接提供了一些如何使用它的示例代码。除了IP地址之外,您可以获得有关网络接口的许多信息。


1

1

曾经我有一个脚本,基本上从http://www.whatismyip.com/下载HTML内容,并解析页面以提取IP地址。这可能不是最好的方法,但它对我有用。


2
不过,解析http://checkip.dyndns.org/会更容易。 ;) - Jeff Mercado
是的,这样会更容易,杰夫。 - Cole W

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接