import socket
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
if __name__ == "__main__":
get_host_ip()
先上代码,该方法就是利用了UDP协议,通过把自身ip放入该协议头中,再通过读取UDP包获取ip。