dnspython 是一个用于 Python 的 DNS 工具包。它支持几乎所有记录类型。它可用于查询、区域传送和动态更新。它支持 TSIG 认证消息和 EDNS0。
dnspython 提供对 DNS 的高级和低级访问。高级类针对给定名称、类型和类的数据执行查询,并返回应答集。低级类允许直接操作 DNS 区域、消息、名称和记录。
dnspython 的模块名是 dns。要了解 dnspython 的一些用法,请查看 examples/ 目录。
dnspython 是一个用于处理 DNS 的工具,因此不会使用 /etc/hosts。对于简单的正向 DNS 查询,最好使用 socket.getaddrinfo() 或 socket.gethostbyname()。
dnspython 起源于 Nominum,在那里开发它是为了便于测试 DNS 软件。
这是 dnspython 2.9.0 的开发版本。
请阅读
What's New 以了解此版本中的变更信息。
pip install dnspython
pip install --upgrade pip build
python -m build
pip install dist/*.whl
pip install git+https://github.com/rthalley/dnspython.gitdnspython 的默认安装不依赖于 Python 标准库以外的任何模块。要使用某些功能,必须安装额外的模块。为方便起见,已为这些依赖项定义了 pip 选项。
如果你想使用 DNS-over-HTTPS,请运行
pip install dnspython[doh]。
如果你想使用 DNSSEC 功能,请运行
pip install dnspython[dnssec]。
如果你想使用国际化域名(IDNA)功能,你必须运行
pip install dnspython[idna]
如果你想使用 Trio 异步 I/O 包,请运行
pip install dnspython[trio]。
如果你想在 Windows 上使用 WMI 来确定活动 DNS 设置,而不是默认的注册表扫描方法,请运行
pip install dnspython[wmi]。
如果你想尝试实验性的 DNS-over-QUIC 代码,请运行
pip install dnspython[doq]。
请注意,你可以安装上述任意组合,例如:
pip install dnspython[doh,dnssec,idna]
Python 2.x 支持在 1.16.0 版本发布后结束。dnspython 支持 Python 3.10 及更高版本。未来的支持与 Python 3 各版本的生命周期保持一致。
文档已迁移至 dnspython.readthedocs.io。