Python获取域名对应的IP
本文主要介绍如何使用Python获取域名对应的IP地址,并给出相应的代码示例。
一、使用socket模块获取IP
Python中提供了socket模块来进行网络编程。使用socket.gethostbyname()方法可以获取域名对应的IP地址。示例代码如下:
import socket domain_name = "www.google.com" ip = socket.gethostbyname(domain_name) print("域名{}对应的IP地址是{}".format(domain_name, ip))
代码执行结果:
域名www.google.com对应的IP地址是172.217.6.196
二、使用dnspython模块获取IP
dnspython是一个Python的DNS解析模块,它可以帮助获取域名对应的IP地址,同时提供了更多的DNS操作。下面是示例代码:
import dns.resolver domain_name = "www.google.com" try: answers = dns.resolver.query(domain_name, 'A') for rdata in answers: print(rdata) except: print("获取IP地址失败")
代码执行结果:
www.google.com. 172.217.6.196
三、使用urllib模块获取IP
urllib是Python的一个HTTP客户端库,它可以用于HTTP请求。通过向域名发起HTTP请求,可以获取其对应的IP地址。下面是示例代码:
import urllib.request import socket domain_name = "www.google.com" try: with urllib.request.urlopen("http://" + domain_name) as fp: ip = socket.gethostbyname(domain_name) print("域名{}对应的IP地址是{}".format(domain_name, ip)) except: print("获取IP地址失败")
代码执行结果:
域名www.google.com对应的IP地址是172.217.6.196
四、小结
本文介绍了三种Python获取域名对应的IP地址的方法,分别是使用socket模块、dnspython模块和urllib模块。通过这些方法,可以轻松地获取域名对应的IP地址,并用于网络编程中。