How do I get a website's IP address using Python 3.x?

前端 未结 2 1242
傲寒
傲寒 2021-02-14 09:04

I have a string representing a domain name. How can I get the corresponding IP address using Python 3.x? Something like this:

>>> get_ip(\'http://www.st         


        
相关标签:
2条回答
  • 2021-02-14 09:55
    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'
    

    Note that:

    • gethostbyname() doesn't work with IPv6.
    • gethostbyname() uses the C call gethostbanme(), which is deprecated.

    If these are problematic, use socket.getaddrinfo() instead.

    0 讨论(0)
  • 2021-02-14 09:58
    >>> 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'])
    
    0 讨论(0)
提交回复
热议问题