python名称廉价api包装器
namecheapapi的Python项目详细描述
用于简单域名注册和管理的python namebuch api包装器。
注意:您需要namebeach的api密钥才能使用此模块(见下文)。
概述
这是正在进行的工作。官方api文档:https://www.namecheap.com/support/api
现在我尽量不使用标准库之外的任何东西。 大多数方法或多或少都有很好的文档记录,所以不要羞于使用help()。每个方法都有类型提示(pep 484)。 方法名与namebeach中的方法名不完全匹配,但它们更像Python和/或更有意义。
功能
- 域名注册/续订
- 域可用性检查
- DNS更新
- whois信息更新
- 获取您的域信息
- 获取您的廉价域名列表
- 设置/删除注册锁
…等等。
名称便宜API
namebeach提供两个api端点:sandbox(用于开发和测试)和production(用于真实世界)。 您可以在https://www.sandbox.namecheap.com/注册一个免费的沙盒帐户,并在 https://ap.www.sandbox.namecheap.com/Profile/Tools/ApiAccess
确保在白名单IPS部分添加您的公共IP地址。
<>记住沙盒域不是“真实的”,即它们只存在。 在namebeach sandbox中(不在实际的web上)。这样你就可以 查看google.com是否可以注册。同时,你 如果你想注册你的虚拟域名 测试特定于域的选项,如续订、DNS更新等。安装
$ pip install namecheapapi
示例用法
# Initialize API>>>fromnamecheapapiimportDomainAPI>>>api=DomainAPI(...api_user='api_user',...api_key='api_key,...username='username',# usually the same as api_user...client_ip='your IP address',...sandbox=True,# recommended for testing...coupon='coupon'# optional...)>>># Check availability of google.com>>>api.check('google.com'){'google.com':False}# Check multiple domains at once>>>api.check(['asdfghjhgfdsa.com','google.com']){'google.com':False,'asdfghjhgfdsa.com':True}# Register a domain>>>address={...'FirstName':'Peter',...'LastName':'Griffin',...'Address1':'31 Spooner St.',...'City':'Quahog',...'StateProvince':'RI',...'PostalCode':'00093',...'Country':'US',...'Phone':'+1.123456789',...'EmailAddress':'peter@griffin.tv'...}>>>api.register('asdfghjhgfdsa.com',address=address){'NonRealTimeDomain':False,'TransactionID':1216215,'WhoisGuardEnabled':False,'Domain':'asdfghjhgfdsa.com','OrderID':823656,'Success':True,'ChargedAmount':10.87,'ID':117154}# Custom query (a raw XML response is returned)>>>q=api.raw_query(command='namecheap.domains.transfer.getList',query={})>>>print(q)<?xmlversion="1.0"encoding="utf-8"?><ApiResponseStatus="OK"xmlns="http://api.namecheap.com/xml.response"><Errors/><Warnings/><RequestedCommand>namecheap.domains.transfer.getlist</RequestedCommand><CommandResponseType="namecheap.domains.transfer.getList"><TransferGetListResult/><Paging><TotalItems>0</TotalItems><CurrentPage>1</CurrentPage><PageSize>20</PageSize></Paging></CommandResponse><Server>PHX01SBAPI01</Server><GMTTimeDifference>--4:00</GMTTimeDifference><ExecutionTime>0.01</ExecutionTime></ApiResponse>
实现的方法
- domains.register(namebeach.domains.create)
- domains.check(namebeach.domains.check)
- domains.get_info(namebeach.domains.getinfo)
- domains.get_list(namebeach.domains.getlist)
- domains.get-tld-list(namebeach.domains.gettllist)
- domains.renew(namebeach.domains.renew)
- domains.resactivate(namebeach.domains.resactivate)
- domains.get_lock(namebeach.domains.getregistrerlock)
- domains.set_lock(namebeach.domains.setregistrerlock)
- 域名服务器(namebeach.domains.dns.getlist)
- domains.set_nameservers(namebeaf.domains.dns.setcustom,namebeaf.domains.dns.setdefault)
- domains.get_联系人(namebeach.domains.get contacts)
- domains.set_联系人(namebeach.domains.set contacts)
下一步
- domains.create_nameserver(namebeach.domains.ns.create)
- domains.delete_nameserver(namebeach.domains.ns.delete)
- domains.update_nameserver(namebeach.domains.ns.update)
- domains.get_nameserver_info(namebeach.domains.ns.getinfo)
- domains.get_主机记录(namebeach.domains.dns.gethosts)
- domains.set_主机记录(namebeach.domains.dns.sethosts)
测试
(有一个依赖项)
- 安装nosetests(pip install nose)
- 在namecheapapi/tests/目录中创建config.py,填写:
- API_KEY=“string”–从namebeach获得的api密钥
- API_USER=“string”–您的姓名便宜的用户名
- USERNAME=“string”–在大多数情况下,它是您的姓名便宜的用户名
- CLIENT_IP='string'–您的公共IP地址(必须在您的namebeach帐户中白名单)
- SANDBOX=true(推荐!)
- COUPON=“string”–优惠券代码(如果有),否则
- DOMAIN=“string”–您已经在namebeach帐户中拥有的域名
- 运行nosetests /path/to/namecheapapi/dir
更改日志
0.2.1
- 小错误修复
0.2
- 文档更新
- 添加了domains.get_contacts/set_contacts方法
0.1.1
- 首次发布的工作版本。