如何使用Python3.x获取网站的IP地址

我有一个表示域名的字符串。如何使用 Python 3.x 获取相应的 IP地址?像这样:

我有一个表示域名的字符串。如何使用 Python 3.x 获取相应的 IP地址?像这样:

>>> get_ip('http://www.stackoverflow.com')
'64.34.119.12'
11
>>> 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'])
11
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'

请注意:

gethostbyname () 不适用于IPv6

gethostbyname () 使用 C 调用 gethostbanme (),该调用已弃用。

如果这些都是有问题的,使用 socket.getaddrinfo()代替。

7

最简单的方法是使用socket.gethostbyname()。但是,它不支持 IPv6,并且基于已弃用的 C 调用gethostbanme()。如果您关心这些问题,可以改用更通用的socket.getaddrinfo()

本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处

(889)
web-网站在Chrome上滚动时滞后
上一篇
如何在ASP.NETCore中获取客户端IP地址
下一篇

相关推荐

发表评论

登录 后才能评论

评论列表(17条)