zl程序教程

您现在的位置是:首页 >  后端

当前栏目

python获得本机本地ip地址的方法汇总详解编程语言

Python方法地址IP编程语言 详解 本地 汇总
2023-06-13 09:20:24 时间

python的socket包含了丰富的函数和方法可以获得本机的ip地址信息,socket对象的gethostbyname方法可以根据主机名获得本机ip地址,socket对象的gethostbyname_ex方法可以获得本机所有ip地址列表

第一种方法:通过socket.gethostbyname方法获得

import socket 

localIP = socket.gethostbyname(socket.gethostname())#得到本地ip 

print "local ip:%s "%localIP 

返回结果如下:

172.16.34.102 

第二种方法:通过socket.gethostbyname_ex方法获得本机主机名和ip地址列表

ipList = socket.gethostbyname_ex(socket.gethostname()) 

print(ipList) 

返回结果如下:

(sharejs.com, [], [172.16.34.102, 169.254.185.115]) 

以上两种方法在linux下也可以使用,linux下还以通过下面的代码获取本机ip地址

import socket 

import fcntl 

import struct 

def get_ip_address(ifname): 

 s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) 

 return socket.inet_ntoa(fcntl.ioctl( 

 s.fileno(), 

 0x8915, # SIOCGIFADDR 

 struct.pack(256s, ifname[:15]) 

 )[20:24]) 

 

8385.html

clinuxpython