微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么使用 dnspython 检查 MX 会出现超时错误?

如何解决为什么使用 dnspython 检查 MX 会出现超时错误?

import dns.resolver
import concurrent.futures
domains=open('com 2021-6-7 domains.txt',encoding='utf-8').read().splitlines()[0:10000]


mx_domains=[]


def check(domain):
    try:
        answers = dns.resolver.resolve(domain,'MX')
        print('MX EXISTS')
        mx_domains.append(domain)
    except Exception as e:
        print(e)
        print('No MX')




with concurrent.futures.ThreadPoolExecutor(max_workers=500) as executor:
    executor.map(check,domains)

为什么这段代码会报错:

The DNS operation timed out after 5.005800008773804 seconds

还有没有办法解决这个问题,或者有更好的方法吗?还是与我的网络有关? 我是网络领域的新手,所以我无法理解为什么这会导致超时错误

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。