в __getattr__ поднять AttributeError (attr) AttributeError: to_text - PullRequest
0 голосов
/ 23 сентября 2019

Предполагается, что эта программа возвращает доменное имя и MX, разрешенные для домена.НО это выдает эту ошибку, не уверен, что я делал неправильно.Я получаю эту ошибку: getattr повышение AttributeError (attr) AttributeError: to_text

#!/usr/bin/python
# -*- coding: utf-8 -*-

import sys
import socket
import dns.resolver
import re

domain = ['gmail.com' , 'hotmail.com' , 'abcfder.abc']

#function for mx
def getmx (domain):
    nomx= "no.mx.resolved."
try:
    result = dns.resolver.query(domain, 'MX')
    #for mailexchange in result:
    return (domain, result.to_text())
    #break
except dns.exception.DNSException as e:
    if isinstance(e, dns.resolver.NXDOMAIN):
    return (domain, nomx)
    #break

#function to remove '\n' from list

def clean (domainname):
    tmpstr = domainname
    domainname = tmpstr.strip()
    return (domainname)

#loop to keep sending domain names to MX function till EOF
x=0
while x<len(domain):
    strtmp = domain[x]
    d = clean(strtmp)
    #print (d)
    mx=getmx(d)
    print (mx)
    x=x+1   
f.close()

1 Ответ

0 голосов
/ 23 сентября 2019

dns.resolver.query возвращает объект ответа , у которого нет метода to_text(), но у ответа есть атрибут ответа, имеющий to_text(), попытка:

result.response.to_text()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...