这一次要讲的是套接字名和DNS,并且还会涉及到网络数据的发送接受和网络错误的发生和处理。下面说套接字名,在创建和部署每个套接字对象时总共需要做5个主要的决定,主机名和IP地址是其中的最后两个。...import argparse, dns.resolver
def lookup(name):
for qtype in 'A', 'AAAA', 'CNAME', 'MX', 'NS':...如果提供了A和AAAA记录,就直接向对应地址发起连接。如果没有,但是给出了CNAME,就按照对应域名的MX记录和A记录。..., 'is a CNAME alias for', cname) # resolve_hostname(cname, indent)
return
print(indent..., 'ERROR: no A, AAAA, or CNAME records for', hostname)
def resolve_email_domain(domain):
"For an