检查Python的DNS解析器查询的特定输出

时间:2014-04-11 04:05:57

标签: python dns spf

我正在尝试撰写一些要求用户输入特定域名(例如Google.com)的内容,如果_spf.google.com位于Google.com的SPF TXT记录中,我希望它能说出来“对”。如果没有,我希望它说“不。”。现在,代码会问我域名,它会查找SPF记录,但我不能说它是“是的”。为什么不?我已经尝试将它变成一个字符串,但即使这样也不会得到我想要的东西。我在这里做错了什么?

除此之外,你们建议的是一个很好的跳跃点,找出我需要编写哪些代码来确定SPF记录最终使用的DNS查找次数?

    import dns.resolver


    question= raw_input("What domain do you want? ")

    def PrintandGoogle(question):

      answer=dns.resolver.query(question,"TXT")
      for data in answer:
        print data
        if "_spf.google.com" in answer:
          print "Yup."
        else:
          print "Nope."

    printAndGoogle(question)

1 个答案:

答案 0 :(得分:1)

如果你的if在你的圈内:

    if "_spf.google.com" in data.to_text():

如果您的if不在您的循环中:

if any("_spf.google.com" in data.to_text() for data in answer):