如何获取我的电脑外部IP地址?

时间:2012-07-15 12:18:33

标签: c++ windows visual-c++

让我说我的IP目前是:123.123.123.123

如何以编程方式获取该字符串?

注意:我不想获取此IP:192.168.0.10,我想要其他人可以通过HTTP或任何其他方式连接到我的计算机的IP。

注意:我不想打开一些网页,例如ip4.me来获取地址,我想用C ++来获取它。

我尝试谷歌,但每个建议都是“加载页面并阅读它告诉你的IP”。这真的是唯一的方法吗?!

2 个答案:

答案 0 :(得分:4)

您可以从http://api.externalip.net/ip/或某些类似服务中获取它,但我不确定这些网站在可用性方面的可靠性

任何其他方式都会非常复杂,因为一般情况下,没有网络设备有api告诉外部IP,即使它有,你也不能告诉你面前是一个简单的xDSL路由器还是思科ASA的外部IP流量

答案 1 :(得分:2)

我的建议是发送带有记录路由选项的数据包。

如果你知道你的上游网关,你应该能够找到一个允许你设置记录路由的ping命令,然后将数据存储在数组中或者你可以正则表达式。

我相信您的WAN IP应该是记录0或记录1。

您使用的是哪个网络库?