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)

测试

(有一个依赖项)

  1. 安装nosetests(pip install nose
  2. 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帐户中拥有的域名
  1. 运行nosetests /path/to/namecheapapi/dir

更改日志

0.2.1

  • 小错误修复

0.2

  • 文档更新
  • 添加了domains.get_contacts/set_contacts方法

0.1.1

  • 首次发布的工作版本。

作者

Alex Sanchez

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

推荐PyPI第三方库


热门话题
JavaSpring异步数据库交互   java中的正则表达式模式/数组问题   swing在Java中设置按钮的位置   java如何实现基于松散耦合的代码散播主方法   velocity模板渲染的java过滤器问题   java如何在liferay中使用EmailAddressLocalService   多线程如何确保长时间运行的Java线程永不消亡   java如何以编程方式在Android启动器之间切换   安卓中的java解析查询问题   Java中的变量浅拷贝整数   SimpleDataFormat中月份的java奇怪问题   java如何在输入流中间读取偏移量?   使用MyComparator类的java排序ArrayList   java HeapDumpOnOutOfMemoryError创建空的hprof文件   java“around”通知的内容可以从单独的函数执行吗?   java将组件添加到我的GridBagLayout会将其他组件移到最右边   带有“WHERE”选择参数的java Android SQLite查询不起作用   安卓 Java NPE错误(尝试在空对象引用上调用虚拟方法)   java Print 2并排排列的ArrayList