采用面向对象的方式封装DNSPod官方API,尽可能降低调用API的成本,根据官方v4.6版本API开发。
新手上路,请多指教。若有需要请联系我:mailto@wolfbolin.com
功能点 | 进度 |
---|---|
帐户相关 | xxxxx |
获取帐户信息 | 计划中 |
修改资料 | |
修改密码 | |
修改邮箱 | |
获取手机验证码 | |
获取用户日志 | 计划中 |
获取API版本号 | 已完成 |
域名相关 | xxxxx |
添加新域名 | 计划中 |
获取域名列表 | 已完成 |
删除域名 | 计划中 |
设置域名状态 | 计划中 |
获取域名信息 | |
获取域名日志 | |
设置搜索引擎推送 | |
添加域名共享 | |
域名共享列表 | |
修改域名共享 | |
删除域名共享 | |
域名过户 | |
锁定域名 | |
域名锁定解锁 | |
域名绑定列表 | |
添加域名绑定 | |
删除域名绑定 | |
获取域名分组 | |
添加域名分组 | |
修改域名分组 | |
删除域名分组 | |
设置域名分组 | |
设置域名星标 | |
设置域名备注 | 计划中 |
获取域名权限 | |
获取等级允许的记录类型 | |
获取等级允许的线路 | |
记录相关 | xxxxx |
添加记录 | 已完成 |
记录列表 | 已完成 |
修改记录 | 已完成 |
删除记录 | 已完成 |
更新动态DNS记录 | 已合并 |
设置记录备注 | 已完成 |
获取记录信息 | 已完成 |
设置记录状态 | 已合并 |
批量操作 | xxxxx |
批量添加域名 | 计划中 |
批量添加记录 | 计划中 |
批量修改记录 | 计划中 |
获取任务详情 | 计划中 |
根据Python编程的特性,我们可以在函数响应时返回多个值。因此本Pypi包在响应函数调用时均采用返回两个值的方式,第一个返回值为具体的数值或对象,第二个返回值为API调用后响应的Json数据(已转字典)。
如果文档有不完善之处还请多多包涵,欢迎参考参考示例、阅读源码、提Issue、发邮件。感恩~
__init__(self, user_id, token)
声明该对象需要传入用户在平台上申请的id与token以组合为调用API的key。
该操作可完成用户对象的创建,为后续的所有操作提供访问凭证。id与token的获取请参考官方文档。
user = DNSPodX.User(user_id, token)
version(self)
该操作可返回线上的API版本
api_version = user.version()
print(api_version)
domain_list(self, offset=0, length=50, domain_type=None, group_id=None, keyword=None)
该操作虽然在域名API列表中,但是因为其与用户信息关系紧密,所以放置于用户类下。该函数的第一个返回值是一个包含域名对象的列表。
user = DNSPodX.User(user_id, token)
domain_list = user.domain_list()[0]
__init__(self, user, name)
声明该对象需要传入用户对象和一个域名,该参数将初始化一个域名对象的必要信息。
该操作可完成域名对象的创建,之后可使用此对象修改域名的相关信息。
user = DNSPodX.User(user_id, token)
domain = DNSPodX.Domain(user, 'example.com')
record_list(self, offset=0, length=2000, sub_domain=None, record_type=None, record_line=None, keyword=None)
该操作虽然在记录API列表中,但是因为其与域名信息关系紧密,所以放置于域名类下。该函数的第一个返回值是一个包含记录对象的列表。
user = DNSPodX.User(user_id, token)
domain = DNSPodX.Domain(user, 'example.com')
record_list = domain.record_list()[0]
__init__(self, user, domain, name, r_type, value, line=None, ttl=None, mx=None, r_id=None, status=None)
声明该对象需要传入用户对象和域名对象,该参数将初始化一个记录对象的必要信息。
同时你还需要传入一些必要的数据来初始化对象,我们认为每个记录都不应该是空的。
user = DNSPodX.User(user_id, token)
domain = DNSPodX.Domain(user, 'example.com')
record = DNSPodX(user, domain, 'www', 'A', '127.0.0.1')
detail(self)
此方法区别于info()
,此函数仅返回对象中存储的存储数据。不会通过API更新对象的信息。
create(self)
此方法将根据对象属性通过API接口创建DNS记录,此时请勿携带record_id参数。
modify(self)
此方法将根据对象属性通过API接口修改DNS记录,此时请携带record_id参数。
remove(self)
此方法将根据对象属性通过API接口删除DNS记录,此时仅携带record_id参数即可。
remark(self, remark)
此方法将通过API接口创建DNS记录备注,此时仅携带record_id参数即可。
info(self, r_id)
此方法将通过API接口获取DNS记录信息,此时仅携带record_id参数即可。