gevent.resolver.dnspython
--纯Python主机名解析程序#
- class Resolver(hub=None)[源代码]#
基类:
AbstractResolver
一个 experimental 使用的解析器 dnspython 。
这通常比默认的线程解析器慢(除非有缓存命中,在这种情况下,它可以快得多)。它通常比C-ARES解析器快得多。当尝试更多并发解决方案时,它往往具有很好的伸缩性。
在Python2下,如果
idna
包安装后,此解析程序可以解析系统解析程序无法解析的Unicode主机名。备注
这 does not 使用dnspython的默认解析器对象,或与共享任何类
import dns
。对象的单独副本被导入,以便能够在非猴子修补的进程中运行。解析器对象的文档仍然适用。我们使用的解析器可以作为
resolver
此对象的属性(通常gevent.get_hub().resolver.resolver
)。小心
许多关于DNS结果的警告都适用于此处的文档
gevent.resolver.ares.Resolver
。此外,对传递到的IPv6地址中的符号作用域ID的处理getaddrinfo
显示出一些不同之处。在PyPy上,
getnameinfo
可以在CPython引发socket.error
,GEvent的DNSPython解析器也引发socket.error
。小心
这个解析器是试验性的。它可能在将来被移除或修改。一如既往,反馈是受欢迎的。
在 1.3a2 版本加入.
在 20.5.0 版本发生变更: 提出的错误现在与标准库解析器提出的错误更加一致。
本地主机和广播名称的处理现在更加一致。
- property resolver#
我们使用的dnspython解析器对象。
此对象具有几个有用的属性,可用于调整DNS系统的行为:
cache
is adns.resolver.LRUCache
. Its maximum size can be configured by callingresolver.cache.set_max_size()
nameservers
控制要与哪些名称服务器通信lifetime
为每个单独的查询配置超时。