与dnspython兼容的dnscrypt解析器

dnscrypt的Python项目详细描述


这个库旨在使在python中使用dnscrypt变得简单和兼容 用dnspython。它提供了一个dns.resolver.Resolver风格的接口 混合使用dns.query.udpdns.query.tcp函数。

>>> import dnscrypt
>>> r = dnscrypt.Resolver('208.67.222.222', '2.dnscrypt-cert.opendns.com',
... 'B735:1140:206F:225D:3E2B:D822:D7FD:691E:A1C3:3CC8:D666:8D0C:BE04:BFAB:CA43:FB79',
... port=53, timeout=5)
>>> print r.query('www.google.com')
<dns.resolver.Answer object at 0x103b6f450>
>>> import dns.message
>>> r.udp(dns.message.make_query('google.com', 'A'))
<DNS message, ID 16075>

类方法

__init__(self, address, provider_name, provider_pk, private_key=None, port=53, timeout=5)

地址
dnscrypt解析器的IP地址
端口
用于与dnscrypt解析器通信的端口
提供商名称
dnscrypt解析器的提供程序名称。采用<version>.dnscrypt-cert.<zone>格式。
提供商pk
提供程序的十六进制编码公钥或dns主机名,从中检索公钥
私钥
一个十六进制编码的私钥,如果你想重用你已经拥有的密钥。否则, 将为每个解析器实例生成一个新密钥。
超时
DNS查找超时(秒)

addressprovider_nameprovider_pk是必需的。所有其他 参数是可选的。

query(qname, rdtype=1, rdclass=1, tcp=False, source=None, raise_on_no_answer=True, source_port=0)

类似于dns.resolver.Resolver.query表示dnspython

tcp(self, query, timeout=None, af=None, source=None, source_port=0, one_rr_per_rrset=False)

类似于dns.query.tcp表示dnspython。没有where参数, 但在功能/形式上完全相同。

udp(self, query, timeout=None, af=None, source=None, source_port=0, ignore_unexpected=False, one_rr_per_rrset=False)

类似于dnspythondns.query.udp。没有where参数, 但在功能/形式上完全相同。

与dnspython的区别

最重要的是这是一个非常基本的 dns.resolver.Resolver。虽然它的设计看起来/感觉是一样的,但它不是 替代品。(例如,我没有实施 use_tsig/use_edns/set_flags函数,而是使用 dns.message.Messagednscrypt.resolver.tcpdnscrypt.resolver.udp

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

推荐PyPI第三方库


热门话题
java如何确保在ActivityfromStaticMethodNewInstance中创建片段   java什么是允许集合的线程安全列表实现。分类   java正则表达式,用于检查字符串是否为正自然数   java Selenium WebDriver getText()   JSF(AWS)下的java Springboot白标签错误页面   java禁用特定URL Spring的基本身份验证   字符串无法转换为int!如何在java上对扫描的整数求和?   java创建键值对象列表   java Gradle with TestNg:未找到任何测试   java在Spark之外加载Mllib模型   当值存在时,比较器Java树映射为键返回null   java如何在Travis上使用Maven构建RPM包?   使用socket上传安卓 Java文件,需要上传文件的百分比?   java同步两个水平滚动视图   java通过扫描仪读取日期类型的字段