我有一个服务器应用程序正在运行。现在我要做的是我需要指定正在运行应用程序的服务器的 IP 地址,所以在这种情况下,如果服务器 IP 地址设置为类似111.111.111.111
我如何111.111.111.111
在该应用程序中获取该 IP 地址一个Windows系统,一旦完成就以整数形式显示服务器IP?
我不想显示它的本地 ip,那是什么127.0.0.1
,甚至192.168.x.x
.
我有一个服务器应用程序正在运行。现在我要做的是我需要指定正在运行应用程序的服务器的 IP 地址,所以在这种情况下,如果服务器 IP 地址设置为类似111.111.111.111
我如何111.111.111.111
在该应用程序中获取该 IP 地址一个Windows系统,一旦完成就以整数形式显示服务器IP?
我不想显示它的本地 ip,那是什么127.0.0.1
,甚至192.168.x.x
.
如果不连接到外部服务器并检查请求 IP(如果请求通过不透明的代理,这仍然可能是错误的),您将无法可靠地获取该信息。
这样做的原因是 Windows 实际上(不一定)知道世界可见的 IP 地址,因为它可能有很多很多网络跃点。因此解决方案是编写一个简单的脚本,在请求时将传入请求的 IP 地址吐出,然后对该 URL 发出 HTTP 请求以确定公共 IP。
如果您想要服务器外部的 IP 地址,我建议:
lynx --dump http://www.whatismyip.com | grep 'Your IP Address Is'
然后您可以使用 RegEx 获取 IP。当然,这是需要lynx
安装的。如果您需要在应用程序中执行此操作,则需要指定应用程序的编程语言以及它的工作方式。