软件 | python dns解析文件(dnspython) v1.12.0 最新版(windows+linux版) |
图标 | ![]() |
分类 | 软件下载-应用软件-编程开发-编程工具 编程工具 |
语言 | 简体中文 |
大小 | 347KB |
软件类型 | 国产软件 |
发布时间 | |
用户评分 | 3 |
备案号 | |
官方网址 | |
软件授权 | 免费软件 |
操作系统 | Windows平台 |
厂商 | |
下载 | ![]() |
介绍 |
dnspython是一个在python下的dns解析文件。它支持几乎所有的记录类型,可以用于查询、传输并动态更新ZONE信息,同时支持TSIG(事务签名)验证消息和EDNS0(扩展DNS)。本平台提供给大家的是windows和linux版本两种版本,有需要的朋友们可以下载试试吧! dnspython是Python的一个DNS工具包。它支持几乎所有的记录类型。它可以用于查询、区域转移和动态更新。它支持TSIG验证消息和EDNS0。 dnspython提供了高和低水平访问DNS。高水平类执行查询数据给定的名称、类型和类,并返回一组回答。低水平类允许DNS区域的直接操纵,信息,名字,和记录。 看到几个dnspython可用的方法,访问页面的示例。 dnspython起源在Nominum那里发达促进DNS软件的测试。Nominum慷慨地允许它在bsd风格的开源许可证,并帮助支持其未来发展通过继续采用作者:)。 安装使用方法 这里采用源码的安装方式,最新版本为1.12.0,如下: # //www.dnspython.org/kits/1.12.0/dnspython-1.12.0.tar.gz # tar -zxvf dnspython-1.12.0.tar.gz # cd dnspython-1.12.0 # python setup.py install 对域名进行操作 域名是 DNS 系统中最基本的对象。 dnspython 通过类 dns.name.Name 提供了对域名信息进行封装。 对于类 dns.name.Name 的实例,我们可以进行一些操作。 请看下面的例子(已经准备好了交互式 Python 环境了吗): >>> import dns.name >>> n1 = dns.name.from_text('google.com') >>> print type(n1) <class 'dns.name.Name'> 首先,我们导入模块 dns.name。 通过函数 dns.name.from_text(),我们很方便的从字符串 google.com 创建了一个类 dns.name.Name 的实例。 随后,我们通过 type() 函数证实了这一点。 让我们再创建几个类 dns.name.Name 的实例。 >>> n0 = dns.name.from_text('com') >>> n2 = dns.name.from_text('www.google.com') >>> n3 = dns.name.from_text('www.google.cn') 类 dns.name.Name 的方法 is_subdomain() 和 is_superdomain 可以帮助我们判读一个域名是否是另一个域名的子域或者超域。 >>> n0.is_superdomain(n2) True >>> n0.is_superdomain(n3) False >>> n2.is_subdomain(n1) True >>> n3.is_subdomain(n1) False >>> n1.is_subdomain(n1) True >>> n1.is_superdomain(n1) True 通过上面的例子我们看到,com 是 www.google.com 的 super domain,不是 www.google.cn 的 super domain。反过来说,www.google.com是 com 的 subdoamin 成立,而 www.google.cn 是 com 的 subdomain 不成立。 我们还意识到一个 dns.name.Name 总是自己的 super domain 和 subdomain。 让我们看看如何处理域名间的相对关系: >>> r1 = n2.relativize(n1) >>> print r1 www >>> r2 = n2 - n1 >>> r1 == r2 True 我们看到,通过 relativize() 方法可以获得一个域名相对其 superdomain 的部分,例如 n2 相对 n1 的部分是 www。 我们也可以使用减(-)操作得到等价结果。那么,是否可以使用加(+)操作处理域名呢? >>> r1 + n1 == n2 True 答案是肯定的。 收起 dnspython 增删改查记录 操作 dic.clear() 清除字典 dic.keys() 获取键的列表 dic.values() 获取值的列表 dic.copy() 复制字典 dic.pop(k) 删除键k dic.get(k) 得到键k的值 dic.update() 更新成员,若成员不在,相当于添加 dic.items() 获得由键和值组成的列表 dic.popitem() 随机删除一个键值对,并将其返回 实例 d = {'name':'LBJ','age':23,'addr':'BeiJing'} print 'd=',d #显示结果:d= {'age': 23, 'name': 'LBJ', 'addr': 'BeiJing'} d.clear() ; print 'd=',d #显示结果:d= {} d.update({'name':'LBJ','age':23,'addr':'BeiJing'}) print 'd=',d #显示结果:d= {'age': 23, 'name': 'LBJ', 'addr': 'BeiJing'} print 'd.keys()=',d.keys() #显示结果:d.keys()= ['age', 'name', 'addr'] print 'd.values()=',d.values() #显示结果:d.values()= [23, 'LBJ', 'BeiJing'] d2 = d.copy() print 'd2=',d2 #显示结果:d2= {'age': 23, 'name': 'LBJ', 'addr': 'BeiJing'} print 'd.popitem()=',d.popitem() #显示结果:d.popitem()= ('age', 23) print 'd=',d #显示结果:d= {'name': 'LBJ', 'addr': 'BeiJing'} |
截图 | |
随便看 |
|
网盟-旗舰软件下载站,将绿色免费商业版破解软件、共享软件、游戏、电影、电视剧一网打尽!