def get_local_ip(): try: hostname = socket.gethostname() local_ip = socket.gethostbyname(hostname) return local_ip except Exception as e: print(f"Unable to get the local IP: {e}") return None print(get_local_ip()) 这个方法直观且易于实现,但它在某些情况下可能返回环回地址而不是内网I...
import socket def get_local_ip(): try: # 创建socket对象 s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) # 连接远程服务器,但不发送任何数据 s.connect(('8.8.8.8', 80)) # 获取本地IP地址 ip = s.getsockname()[0] return ip except socket.error: return "无法获取本地IP地址" # 调...
defget_local_ip():try:# 创建一个UDP套接字 sock=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)# 连接到公共的DNS服务器(8.8.8.8) sock.connect(("8.8.8.8",80))# 获取本地IP地址 local_ip=sock.getsockname()[0]returnlocal_ipfinally:# 关闭套接字连接 sock.close()# 调用函数获取本机IP地址 ...
1,使用socket库:import socket def get_local_ip(): """ 获取本机IP地址 """ tr...
importsocketdefget_local_ip():# 创建一个UDP套接字sock=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)try:# 连接到一个公共的IP地址sock.connect(('8.8.8.8',80))# 获取本地IP地址local_ip=sock.getsockname()[0]finally:sock.close()returnlocal_ipdefget_devices_ip():ip_list=[]# 获取本地IP...
socket模块是Python标准库的一部分,可以用来获取本地IP地址。 importsocketdefget_local_ip():try:s=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)s.connect(("8.8.8.8",80))# Google的公共DNS服务器ip=s.getsockname()[0]exceptExceptionase:ip="127.0.0.1"finally:s.close()returnipprint("Local IP Ad...
local_ip =''try: socket_objs = [socket.socket(socket.AF_INET, socket.SOCK_DGRAM)] ip_from_ip_port = [(s.connect(('8.8.8.8',53)), s.getsockname()[0], s.close())forsinsocket_objs][0][1] ip_from_host_name = [ipforipinsocket.gethostbyname_ex(socket.gethostname())[2]ifnotip...
#get_ip_address('lo')环回地址 #get_ip_address('eth0')主机ip地址 #!/usr/bin/pythondefget_local_ip(ifname):importsocket, fcntl, struct s=socket.socket(socket.AF_INET, socket.SOCK_DGRAM) inet= fcntl.ioctl(s.fileno(), 0x8915, struct.pack('256s', ifname[:15])) ...
#get_ip_address('eth0')主机ip地址 第二种 def get_local_ip(ifname): import socket, fcntl, struct s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) inet = fcntl.ioctl(s.fileno(), 0x8915, struct.pack('256s', ifname[:15])) ...
一个方法是通过socket.gethostbyname_ex获取主机IP地址列表,然后遍历列表取得自己需要的IP。 importsocket#多网卡情况下,根据前缀获取IP(Windows 下适用)defGetLocalIPByPrefix(prefix):localIP=''foripinsocket.gethostbyname_ex(socket.gethostname())[2]:ifip.startswith(prefix):localIP=ipreturnlocalIPprint(GetLoc...