Python获取外网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地址。

1 thought on “Python获取外网ip地址

  1. 潇湘居士

    在局域网中,这种方法获取的是内网的IP,而不是公网IP。

    python可以使用 urllib 模块来获取外网IP,如下:

    In [1]: import urllib 
    In [2]: print urllib.urlopen('http://ifconfig.me/ip').read()

     

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *