如何在Python中获取socket的外部IP?

10 投票
9 回答
22334 浏览
提问于 2025-04-11 09:09

当我在一个套接字对象上调用 socket.getsockname() 时,它会返回一个包含我机器内部IP地址和端口号的元组。不过,我想获取我的外部IP地址。有没有什么简单又高效的方法可以做到这一点?

9 个回答

7

我能想到的唯一一种确保能获取你需要的信息的方法,就是访问一个像 http://whatismyip.com/ 这样的服务网站。

9

这件事不可能做到,因为你和另一台电脑之间可能有很多个NAT(网络地址转换)。如果你使用的是自定义协议,你可以让另一台系统告诉你它连接的地址是什么。

撰写回答