我正在将bash代码转换为python代码。 我通过
获得了bash代码中自己主机的全局ip地址hostname -I # output -> 19x.xxx.xxx.xxx xxxx:xxxx:....
19x.xxx.xxx.xxx是自己主机的全局IP地址。
我试图通过
获取python中的全局ip地址import socket
name=socket.gethostname()
id_address=socket.gethostbyname(name)
print("id_address = {0}".format(id_address))
输出是本地主机地址,如
127.xxx.xxx.xxx
我有办法在python中获取全局IP地址吗?
答案 0 :(得分:0)
你可以在没有任何外部库的情况下做到这一点:
import urllib.request
external_ip = urllib.request.urlopen('https://ident.me').read().decode('utf8')
print(external_ip)
它使用的网站为您提供公共 ipv4 地址以及非常棒的标准库,
也许有更好的方法,但它可能是最快的方法,
代码在 python3 上测试,没有库,windows- 运行良好