Python DNS查找

将IP地址转换为可读格式或单词后,便称为域名。域名到IP地址的转换由python模块dnspython管理。该模块还提供了查找CNAME和MX记录的方法。

1. 查找“ A”记录

在下面的程序中,我们使用dns.resolver方法找到该域的IP地址。通常,IP地址和域名之间的这种映射也称为“A”记录。

 
# Filename : example.py
# Copyright : 2020 By Codebaoku
# Author by : www.codebaoku.com
# Date : 2020-08-25
import dnspython as dns
import dns.resolver
result = dns.resolver.query('codebaoku.com', 'A')
for ipval in result:
    print('IP', ipval.to_text())

运行上面示例代码,得到以下结果:

 
# Filename : example.py
# Copyright : 2020 By Codebaoku
# Author by : www.codebaoku.com
# Date : 2020-08-25
('IP', u'59.110.239.6')

2. 查找CNAME值

CNAME记录也称为规范名称记录,是域名系统(DNS)中的一种记录类型,用于将域名映射为另一个域的别名。CNAME记录始终指向另一个域名,并不能直接为IP地址。在下面的查询方法中,我们指定CNAME参数以获取CNAME值。

 
# Filename : example.py
# Copyright : 2020 By Codebaoku
# Author by : www.codebaoku.com
# Date : 2020-08-25
import dnspython as dns
import dns.resolver
result = dns.resolver.query('mail.google.com', 'CNAME')
for cnameval in result:
    print ' cname target address:', cnameval.target

运行上面示例代码,得到以下结果:

 
# Filename : example.py
# Copyright : 2020 By Codebaoku
# Author by : www.codebaoku.com
# Date : 2020-08-25
cname target address: googlemail.l.google.com.

3. 查找MX记录

MX记录(也称为邮件交换器记录)是域名系统中的资源记录,它指定负责代表接收者域的电子邮件消息的邮件服务器。如果有多个邮件服务器可用,它还会设置优先级值,该优先级值用于优先安排邮件传递。与上述程序类似,可以在查询方法中使用“MX”参数找到MX记录的值。

 
# Filename : example.py
# Copyright : 2020 By Codebaoku
# Author by : www.codebaoku.com
# Date : 2020-08-25
result = dns.resolver.query('mail.google.com', 'MX')
for exdata in result:
    print ' MX Record:', exdata.exchange.text()

运行上面示例代码,得到以下结果:

 
# Filename : example.py
# Copyright : 2020 By Codebaoku
# Author by : www.codebaoku.com
# Date : 2020-08-25
MX Record: ASPMX.L.GOOGLE.COM.
MX Record: ALT1.ASPMX.L.GOOGLE.COM.
MX Record: ALT2.ASPMX.L.GOOGLE.COM.

以上是示例输出,而不是确切的输出。

路由是将URL直接映射到创建网页的代码的机制。它有助于更好地管理网页的结构,并显着提高网站的性能,并且进一步的增强或修改将变得非常简单。在python中,路由是在大多数网络框架中实现的。我们将在本章中看到flask We ...