Python:gethostbyname获取本地ip地址

时间:2022-05-05
本文章向大家介绍Python:gethostbyname获取本地ip地址,主要内容包括gethostbyname函数获取本地ip地址、gethostbyname_ex函数获取本地ip地址、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。

gethostbynamegethostbyname_ex均是socket模块中的一个函数,都可用于来获取本地ip地址。 PS:Linux(云服务器)服务器使用下面的函数来获取到的是公网IP地址,在本地的Windows机器上面获取到的是内网IP地址。

gethostbyname函数获取本地ip地址

>>>impoert socket
>>> socket.gethostbyname(socket.gethostname())
'116.196.107.126' 
>>> hostname = socket.gethostname()
>>> print hostname
jd.svr.lianst.com
>>> socket.gethostbyname(hostname)
'116.196.107.126'

gethostbyname_ex函数获取本地ip地址

>>> socket.gethostbyname_ex(socket.gethostname())
('jd.svr.lianst.com', [], ['116.196.107.126'])
>>> socket.gethostbyname_ex(socket.gethostname())[2]
['116.196.107.126']

从上面两个例子里面可以看出来,gethostbyname仅仅获取到ip地址,并以字符串的形式返回;而gethostname_ex则可以获取到更多的信息,包括hostname并以元组的方式返回。