查不到时的响应码
按模型,表里没有 b.local,rcode({"a.local": "1"}, "b.local") 交回什么?
解析模型:records = {域名: IP}。resolve 交回 A 记录(没有给 "");resolvable 能不能解析;rcode=解析得出 NOERROR、否则 NXDOMAIN。
def resolve(records, name):
"""records: {域名: IP};交回这个名字的 A 记录(没有交回 "")。"""
return records.get(name, "")
def resolvable(records, name):
"""这个名字能不能解析出 IP。"""
return name in records
def rcode(records, name):
"""解析响应码:解析得出交回 NOERROR,否则 NXDOMAIN。"""
return "NOERROR" if name in records else "NXDOMAIN"
print(rcode({"a.local": "1"}, "b.local"))
全部评论