s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) s.connect(('8.8.8.8', 80)) print(s.getsockname()[0]) s.close()
备注:这个IP有可能被墙,可以换一个国内的,呵呵。。
如果是NAT出口的,显示的是NAT的IP地址。
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) s.connect(('8.8.8.8', 80)) print(s.getsockname()[0]) s.close()
备注:这个IP有可能被墙,可以换一个国内的,呵呵。。
如果是NAT出口的,显示的是NAT的IP地址。
在局域网中,这种方法获取的是内网的IP,而不是公网IP。
python可以使用 urllib 模块来获取外网IP,如下: