python里有一个模块,叫socket,提供了BSD socket 的通信接口,在看了这个模块之后,我发现了两个很相似的函数---gethostbyname和gethostbyname_ex。看起来很像吧,是不是让你想起了 win32 api 和 mfc 。 他们的区别是什么呢,看图: gethostbyname 返回的是 主机名 的IPv4 的地址格式,如果传入的参数是IPv4 的地址格式...
name, aliases, addresses = socket.gethostbyname_ex(host)print(host)print("主机名:", name)print("所有别名:", aliases)print("所有可用IP地址:", addresses)exceptsocket.errorasmsg:print(host, msg) 运行之后,效果如下: gethostbyname_ex:该函数返回3个参数,主机名,别名,以及解析能跳转到当前主机的IP地址。
有时候一个主机可能有多个IP地址,我们也可以使用socket库来获取所有IP地址。下面是一个示例代码: importsocket# 获取当前主机名hostname=socket.gethostname()# 获取当前主机的所有IP地址ip_addresses=socket.gethostbyname_ex(hostname)print(f"当前主机名:{hostname}")print("当前主机的所有IP地址:")foripinip_addr...
getfqdn() socket.getfqdn(socket.gethostname()) #将主机名转化为IP地址socket.gethostbyname('www.baidu.com') #不支持IPV6解析socket.gethostbyname_ex('www.baidu.com') #返回三元组,(主机名,相同地址的其它可用主机名的列表,IPv4 地址列表) #网络ip地址 socket.gethostbyname(socket.getfqdn(socket.gethost...
获取本机所有网卡的IP地址:通过使用socket.gethostbyname_ex(socket.gethostname())或使用netifaces模块的netifaces.ifaddresses()方法,可以获取所有网卡的信息。 选择需要使用的网卡:根据你的需求选择指定的网卡IP地址。 在Socket编程中使用该IP地址进行绑定:修改上述服务端代码中的host变量为你所选择的网卡的IP地址。
gethostbyname_ex(hostname) 翻译的主机名IPv4地址格式的扩展接口。返回一个三元组(hostname,aliaslist,ipaddrlist),gethostbyname_ex()不支持IPv6名称解析,可以使用getaddrinfo()获取IPv4/v6双协议栈支持。 import socket for host in [ 'homer', 'www', 'www.python.org', 'nosuchname' ]: print host try...
socket.gethostbyname('www.baidu.com') #不支持IPV6解析 socket.gethostbyname_ex('www.baidu.com') #返回三元组,(主机名,相同地址的其它可用主机名的列表,IPv4 地址列表) #网络ip地址 socket.gethostbyname(socket.getfqdn(socket.gethostname())) #将ip地址转化为主机名,返回三元组(主机名,相同地址的其它可用...
vc根据域名获取IP地址 gethostbyname()函数 2010-02-09 17:58 −以下是VC Socket初始化时用到的两个函数 一、WSAStartup函数 int WSAStartup &... 搏击的小船 2 18857 使用gethostname()函数和gethostbyname()函数获取主机相关信息 2016-05-24 19:56 −from http://ty1992.blog.51cto.com/7098269/1685880 ...
gethostbyname和gethostbyname_ex均是socket模块中的一个函数,都可用于来获取本地ip地址。 PS:Linux(...
socket.gethostbyname(hostname)将主机名转换为 IPv4 地址格式。IPv4 地址以字符串格式返回,如 '100.50.200.5'。如果主机名本身是 IPv4 地址,则原样返回。更完整的接口请参考 gethostbyname_ex()。 geth…