以编程方式确定阿里云(ALIYUN)中ECS服务器的IP public

Programatically determine public IP of a ECS server in Alibaba Cloud (ALIYUN)

我的应用程序(C++)运行在阿里云内部的ECS服务器上。

它需要知道它的 public 地址,但在网络上只有私有 IPS 是可见的(类似于 AWS,Google Cloud 等)

有没有办法自动检测 public IP?

有几种方法可以确定您的 public IP 地址:

  1. 使用 returns 您的 IP 地址的外部来源。 Google 搜索会找到很多来源。 AWS 有一个:http://checkip.amazonaws.com/。您可以向该端点发出 HTTP 请求并解析结果。使用可靠的供应商 returns 您的 IP 地址,而不是一堆格式化的 HTML 语句。
  2. 在 ECS 实例的元数据中查找您的 public IP。此 link 有更多信息:ECS Metadata
  3. 使用阿里云C++ SDK调用ECSAPI描述实例Alibaba Cloud C++ SDK