2014-04-11 1 views
1

사용자가 특정 도메인 (예 : Google.com)을 입력하도록 요청하고 _spf.google.com이 SPF TXT 레코드에 Google.com, 나는 "그래"라고 말하고 싶습니다. 그렇지 않다면 나는 "싫다"고 말하고 싶다. 지금 코드는 도메인에 대해 묻습니다. SPF 레코드를 검색하지만 "yup"이라고 말하면 이해할 수 없습니다. 왜 안돼? 나는 그것을 문자열로 바꾸려고 노력했지만, 심지어 그것이 내가 원하는 것을 얻지는 못한다. 여기서 내가 뭘 잘못하고 있니?Python의 DNS 확인자 쿼리에서 특정 출력 확인하기

덧붙여 말하자면 SPF 레코드가 궁극적으로 사용하는 DNS 조회 수를 계산하기 위해 작성해야하는 코드를 파악할 때 좋은 점이 무엇입니까? 당신의 if은 루프 내에서

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

경우 :

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

당신의 if이 루프를 벗어나면 :

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