来看代码,运行看效果
import socket
socket.gethostname() #获取当前主机名
#通过hostname查询,注意这个并不一定会得到真确的IP地址
print(socket.gethostbyname(socket.gethostname()))
#通过访问自己UDP方式获取,这个会获取当前的准确地址
def get_host_ip():
try:
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.connect(('8.8.8.8', 80))
ip = s.getsockname()[0]
finally:
s.close()
return ip
print(get_host_ip())
#获取所有IP地址
addrs = socket.getaddrinfo(socket.gethostname(),None) #获取当前主机的所有ip地址
for item in addrs:
print(item)