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

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]) 
 
 

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/8385.html

(0)
上一篇 2021年7月18日 19:33
下一篇 2021年7月18日 19:33

相关推荐

发表回复

登录后才能评论