当我调用socket.getsockname()套接字对象时,它返回我机器的内部IP和端口的元组.但是,我想检索我的外部IP.这样做最便宜,最有效的方式是什么?
socket.getsockname()
如果没有外部服务器的合作,这是不可能的,因为您和另一台计算机之间可能存在任意数量的NAT.如果它是自定义协议,您可以要求另一个系统报告它所连接的地址.
我能想到的唯一可以保证给你的方法就是点击http://whatismyip.com/这样的服务来获取它.