0

我正在做一个项目,我需要测试域是否在 MX、AAAA 记录中具有 IPv6 地址。我想使用 Python 进行脚本编码。我了解了 dnsPython 并安装了它,但它似乎根本不起作用。

当我执行这个简单的代码时:

import dns.resolver

answers = dns.resolver.query('dnspython.org', 'MX')
for rdata in answers:
    print 'Host', rdata.exchange, 'has preference', rdata.preference

我收到此错误:

Traceback (most recent call last):
  File "H:\Python_workspace\Test\Zdroj\bbb.py", line 9, in <module>
    answers = dns.resolver.query('dnspython.org', 'MX')
  File "build\bdist.win32\egg\dns\resolver.py", line 920, in query
  File "build\bdist.win32\egg\dns\resolver.py", line 847, in query
  File "build\bdist.win32\egg\dns\resolver.py", line 692, in _compute_timeout
dns.exception.Timeout

我曾经用 Java 编写代码,但是如果在编译过程中出现了一些错误,由于错误描述,我能够找出问题所在,但是在这里我迷路了,我无法从错误中找到任何有用的东西,我可以用它来查找错误。似乎缺少某些东西,或者库安装不当。

4

1 回答 1

2

你得到的例外是:dns.exception.Timeout. 这不是编译错误,而是运行时异常。这可能是由于您的防火墙或路由器设置不允许 dnspython 进行所需的 DNS 查询。

于 2012-08-19T20:39:31.253 回答