import socket def get_host_ip(): with socket.socket(socket.AF_INET, socket.SOCK_DGRAM) as s: s.connect(('8.8.8.8', 80)) return s.getsockname()[0] print(get_host_ip())
原理太简单了,就是构造一个UDP包,从ip头部拿到IP地址