如何获得网站';使用Python3.x的IP地址?

如何获得网站';使用Python3.x的IP地址?,python,dns,ip,Python,Dns,Ip,我有一个代表域名的字符串。如何使用Python3.x获得相应的IP地址?大概是这样的: >>> get_ip('http://www.stackoverflow.com') '64.34.119.12' 请注意: gethostbyname()不适用于 gethostbyname()使用C调用gethostbanme(),该调用已被弃用 如果有问题,请使用socket.getaddrinfo()。最简单的方法是使用。但是,这不支持IPv6,并且基于不推荐的C调用getho

我有一个代表域名的字符串。如何使用Python3.x获得相应的IP地址?大概是这样的:

>>> get_ip('http://www.stackoverflow.com')
'64.34.119.12'
请注意:

  • gethostbyname()不适用于
  • gethostbyname()使用C调用gethostbanme(),该调用已被弃用
如果有问题,请使用socket.getaddrinfo()。

最简单的方法是使用。但是,这不支持IPv6,并且基于不推荐的C调用
gethostbanme()
。如果您关心这些问题,可以使用更通用的解决方案。

可能重复的
Python 3.1.3 (r313:86834, Nov 27 2010, 18:30:53) [MSC v.1500 32 bit (Intel)] on win32
>>> import socket
>>> socket.gethostbyname('cool-rr.com')
'174.120.139.162'
>>> import socket

>>> def get_ips_for_host(host):
        try:
            ips = socket.gethostbyname_ex(host)
        except socket.gaierror:
            ips=[]
        return ips

>>> ips = get_ips_for_host('www.google.com')
>>> print(repr(ips))
('www.l.google.com', [], ['74.125.77.104', '74.125.77.147', '74.125.77.99'])