目录
准备工作
环境
- Python2 >=
2.7.9
或 Python3 >=3.3.0
安装
|
|
安装到Mac OS X
在Mac OS X使用上面的方法安装, 在使用时可能出现以下错误:
|
|
这是Mac OS X pyOpenSSL版本太旧导致, 您可以通过homebrew重新安装python解决,具体安装步骤如下:
通过brew安装python
1brew install python --with-brewed-openssl将python的bin路径加入到PATH环境变量中
1export PATH=/usr/local/Cellar/python/2.7.11/bin/:$PATH创建符号链接
12mkdir -p /usr/local/opt/python/bin/ln -s /usr/local/Cellar/python/2.7.11/bin/python2.7 /usr/local/opt/python/bin/python2.7安装
1pip install --upgrade dnsdb-python-sdk
使用
DnsDB Python API主要使用dnsdb.clients.DnsDBClient
,以下内容主要都是讲该类的用法。
验证身份
DnsDBClient
在使用前需要验证用户身份,您需要提供拥有开发者权限的DnsDB账号。
|
|
如果您还没有DnsDB账号, 你可以点击这里进行注册
购买API服务,请查看这里
查询DNS
查询DNS记录可以使用DnsDBClient.search_dns
方法, 该方法单次调用最多返回30条查询结果, 每成功调用一次扣除一次API查询次数。
DnsDB.search_dns
至少需要指定domain
,host
或者ip
中的一个参数,否则会抛出异常
查询某个顶级私有域名的DNS记录
|
|
查询指定host值的DNS记录
|
|
查询解析到8.8.8.8的DNS记录
|
|
查询某个顶级私有域名的所有A记录
|
|
指定start
参数, 告诉client从第几条数据开始获取结果, start
默认为0
|
|
通过
start
最多可以查询到前10000条记录, 所以start
最大为9970
,如果您想获取所有查询结果请查看获取所有DNS查询结果
result
是Dnsdb.clients.SearchResult
的实例
|
|
遍历查询结果
|
|
获取所有DNS查询结果
如果您想获取某个DNS查询的所有结果,您可以使用DnsDBClient.retrieve_dns
方法实现, 调用该方法不会扣除API请求次数。但是遍历结果时会根据遍历的数据量扣除相应的API请求次数。
DnsDBClient.retrieve_dns
参数与DnsDBClient.search_dns
相同, 但是不存在start
参数
查询某个顶级域名的所有DNS记录
|
|
result
是dnsdb.clients.RetrieveResult
的实例。获取满足查询条件的结果总数
|
|
遍历查询结果, 这里会根据你遍历的查询结果数扣除相应的API请求次数, 如果您提前结束遍历, 可能会减少扣除的API请求次数
|
|
遍历
RetrieveResult
时, 它会自动多次调用DnsDBClient.__retrieve_dns_once
, 用于获取查询结果,DnsDBClient.__retrieve_dns_once
每次调用返回的最大查询数量与购买的API套餐相关,每成功调用一次则扣除一次API请求次数。
获取资源信息
通过DnsDBClient.get_resources
获取当前账号的资源信息,资源信息包含了当前可用的API请求次数
|
|
配置代理
HTTP/HTTPS代理
|
|
代理服务器使用HTTP Basic Auth, 语法为http://user:password@host/
:
|
|
SOCKS代理
|
|