异步蟒

asyncdns2的Python项目详细描述


AsyncDNS-用于异步的纯Python异步DNS

https://travis-ci.org/al45tair/asyncdns.svg?branch=masterhttps://readthedocs.org/projects/asyncdns/badge/?version=latest

这是什么?

asyncdns是编写的纯python异步dns解析器实现 在Asyncio之上。它不需要任何外部库,也不需要 使用线程或阻塞函数。

用法

asyncdns与广泛使用的^{tt3}不等价$ 或getaddrinfo()函数。相反,您可以通过构造 Query对象指定要运行的DNS查询,然后将其传递给 Resolver实际执行查询。

有一些内置的解析器,但是为了演示的目的 最容易使用的是SmartResolver,它自动利用 /etc/hosts,多播dns和常规dns(视情况而定)。

例如,对a记录执行简单的查找:

>>> import asyncdns, asyncio
>>> resolver = asyncdns.SmartResolver()
>>> loop = asyncio.get_event_loop()
>>> query = asyncdns.Query('www.example.com', asyncdns.A, asyncdns.IN)
>>> f = resolver.lookup(query)
>>> loop.run_until_complete(f)
>>> print(f.result())
;; No error (RD, RA)
; 1 answers:
www.example.com       54950   IN      A       93.184.216.34
; 0 authorities:
; 0 additional:

请注意,您可能希望也可能不希望在代码中使用SmartResolver, 取决于您的需求-使用多播可能不是一个好主意 例如,不受信任的网络上的dns。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java jSplitPane鼠标悬停时显示和隐藏左窗格   替换nio。文件java 8的路径::of(字符串)   java Jetty连接器和处理程序   无法实例化java RxJava网络   加密如何使Java程序对文本文档中的消息进行解密?   java可以在OSGi环境中实现   javascript在GWT中捕获JS触发的自定义事件   Cassandra跟踪和客户端延迟之间的java差异   java简单Xml元素声明两次错误   Mac和PC之间的java NetBeans   java Selenium Chrome驱动程序和Travis CI不能一起工作   从Java web应用程序管理Linux用户身份验证和文件系统权限   java调用setVisible(false)和dispose()时,为什么窗口/组件侦听器的调用方式不同?