我有一个服务器应用程序正在运行。现在我要做的是我需要指定正在运行应用程序的服务器的 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安装的。如果您需要在应用程序中执行此操作,则需要指定应用程序的编程语言以及它的工作方式。