获取全局ip地址 我如何获得(在C++中)我的计算机的“强>全局/强> IP地址(WindowsXP)?< /P>< Windows >上,您需要获取本地主机名,然后将其传递给WINSOCK2中的 GeToStByNys//Cuffe函数,返回相关的IP地址。< /P>

获取全局ip地址 我如何获得(在C++中)我的计算机的“强>全局/强> IP地址(WindowsXP)?< /P>< Windows >上,您需要获取本地主机名,然后将其传递给WINSOCK2中的 GeToStByNys//Cuffe函数,返回相关的IP地址。< /P>,c++,C++,例如: Linux的堆栈溢出解决方案: 您必须向http://whatismyipaddress.com/并提取其中显示IP的字符串。您不能 您可以确定各种接口上的IP地址,并且可能有多个。这些IP可以是局域网IP(10.0.0.0/8、192.168.0.0/16等),也可以是internet可路由的 你似乎在问“如果我有192.168.0.3,我如何获得我的互联网IP?”没有函数调用来实现这一点:这样的IP可能存在,可能不存在,甚至可能不止一个 你能做的最接近的事情就是让互联网上的一台已知计

例如:

Linux的堆栈溢出解决方案:


您必须向
http://whatismyipaddress.com/
并提取其中显示IP的字符串。

您不能

您可以确定各种接口上的IP地址,并且可能有多个。这些IP可以是局域网IP(10.0.0.0/8、192.168.0.0/16等),也可以是internet可路由的

你似乎在问“如果我有192.168.0.3,我如何获得我的互联网IP?”没有函数调用来实现这一点:这样的IP可能存在,可能不存在,甚至可能不止一个

你能做的最接近的事情就是让互联网上的一台已知计算机告诉你:连接到另一台机器,让他们把他们认为你的IP地址发回。有一些网站可以做到这一点,有些甚至可能有API来做到这一点


我觉得有些家庭路由器也可以通过uPnP告诉您,但这并不能涵盖所有可能的情况。

使用此纯文本IP url:

我知道如何查找本地IP,我想查找全局IP。这些方法将返回外部IP地址(非127.0.0.0/8)。大多数计算机主机名不会通过DNS解析,这似乎是您在第一段中的建议。注意:可能有多个全局IP地址。请注意,这违反了他们的服务条款“未经事先书面许可,您不得使用脚本、代理、应用程序或以其他方式自动查询此网站。”。但是,没有什么可以阻止您托管自己的服务,该服务执行类似的任务来拒绝您的请求。