Python:如何从FQDN获取IP地址
如果我有一个FQDN,例如www.google.com,我如何获得相应的IP地址?最简单的方法是。使用Python:如何从FQDN获取IP地址,python,network-programming,ip-address,Python,Network Programming,Ip Address,如果我有一个FQDN,例如www.google.com,我如何获得相应的IP地址?最简单的方法是。使用socket.gethostbyname(主机名)请参阅:您可以使用socket.getaddrinfo。这将为您提供与名称关联的不同IP地址,还可以为您提供IPv6地址 从文件中: >>> import socket >>> help(socket.getaddrinfo) Help on built-in function getaddrinfo in m
socket.gethostbyname(主机名)
请参阅:您可以使用socket.getaddrinfo
。这将为您提供与名称关联的不同IP地址,还可以为您提供IPv6地址
从文件中:
>>> import socket
>>> help(socket.getaddrinfo)
Help on built-in function getaddrinfo in module _socket:
getaddrinfo(...)
getaddrinfo(host, port [, family, socktype, proto, flags])
-> list of (family, socktype, proto, canonname, sockaddr)
Resolve host and port into addrinfo struct.
>>> from pprint import pprint
>>> pprint(socket.getaddrinfo('www.google.com', 80))
[(2, 1, 6, '', ('74.125.230.83', 80)),
(2, 2, 17, '', ('74.125.230.83', 80)),
(2, 3, 0, '', ('74.125.230.83', 80)),
(2, 1, 6, '', ('74.125.230.80', 80)),
(2, 2, 17, '', ('74.125.230.80', 80)),
(2, 3, 0, '', ('74.125.230.80', 80)),
(2, 1, 6, '', ('74.125.230.81', 80)),
(2, 2, 17, '', ('74.125.230.81', 80)),
(2, 3, 0, '', ('74.125.230.81', 80)),
(2, 1, 6, '', ('74.125.230.84', 80)),
(2, 2, 17, '', ('74.125.230.84', 80)),
(2, 3, 0, '', ('74.125.230.84', 80)),
(2, 1, 6, '', ('74.125.230.82', 80)),
(2, 2, 17, '', ('74.125.230.82', 80)),
(2, 3, 0, '', ('74.125.230.82', 80))]
注意:gethostbyname
在C中不推荐使用(Pythonsocket.gethostbyname
是用它实现的),因为它不支持IPv6地址,建议使用getaddrinfo
替换