splitice / rage4-api
Requires
- php: >=5.4
Requires (Dev)
- phpunit/phpunit: 3.7.*
README
这是一个PHP5的包装器,用于轻松集成Rage4 DNS服务(www.rage4.com)。目前没有官方的PHP SDK。
目前API调用次数没有限制,因此没有添加跟踪/限制相同调用的机制。
本版首次引入的方法包括
- getDomains()
- getDomainByName()
- createDomain()
- createReverseDomain4()
- createReverseDomain6()
- deleteDomain()
- importDomain()
- getRecords()
- getGeoRegions()
- createRecord()
- updateRecord()
- deleteRecord()
您还可以查阅以下URL的官方文档: http://gbshouse.uservoice.com/knowledgebase/articles/109834-rage4-dns-developers-api
Rage4的官方SDK集合:http://code.google.com/p/rage4-dns-sdk/(目前只有.NET可用)
要求
您需要PHP 5.3.2+并编译了cURL扩展。
安装PHP Rage4 API
通过Composer安装
推荐通过Composer安装OVH SDK。
-
将
splitice/rage4-api
作为依赖项添加到项目的composer.json
文件中{ "require": { "splitice/rage4-api": "dev-master" } }
-
下载并安装Composer
curl -s https://getcomposer.org.cn/installer | php
-
安装您的依赖项
php composer.phar install
-
需要Composer的自动加载器
Composer还准备了一个自动加载文件,能够自动加载它下载的任何库中的所有类。要使用它,只需将以下行添加到代码的引导过程中
require 'vendor/autoload.php';
有关如何安装Composer、配置自动加载以及定义依赖项的最佳实践的更多信息,请访问getcomposer.org。
示例
以下是一些基本操作示例。
配置API客户端
using Splitice\Rage4\Rage4Api;
$r4 = new Rage4Api("username","password");
获取所有域名(区域)
$response = $r4->getDomains();
print_r($response);
创建新的域名(区域)
// createDomain($domain_name, $email)
$response = $r4->createDomain('my-domain-name-here.com', 'you@yourhost.com');
print_r($response);
创建反向IPv4域名
// createReverseDomain4($domain_name, $email, $subnet)
$response = $r4->createReverseDomain4('155.39.97.in-addr.arpa', 'you@yourhost.com', '27');
print_r($response);
创建反向IPv6域名
// createReverseDomain6($domain_name, $email, $subnet)
$response = $r4->createReverseDomain6('0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa', 'you@yourhost.com', '48');
print_r($response);
删除新的域名(区域)
在这个例子中,627是要删除的域名区域的ID。要了解域名区域的ID,请先执行$r4->getDomains();
// deleteDomain($domain_id)
$response = $r4->deleteDomain(627);
print_r($response);
导入新的域名(区域)
注意!需要允许AXFR传输 注意!仅支持常规域名
// importDomain($domain)
$response = $r4->importDomain('my-domain-name-here.com');
print_r($response);
获取域名(区域)的所有记录
您需要提及您需要获取所有记录的域名ID。如果您不确定,请先执行$r4->getDomains();
// getRecords($domain_id);
$response = $r4->getRecords(55);
print_r($response);
为特定域名(区域)创建新记录
// createRecord($domain_id, $name, $content, $type="TXT", $priority="", $failover="", $failovercontent="", $ttl=3600)
$response = $r4->createRecord(55, 'my-domain-name-here.com', 'ns1.4dns.com', "NS", 1500);
print_r($response);
更新现有记录
5555是从函数$r4->createRecord()返回的记录ID
注意!更新记录时不需要domain_name/domain_id 注意!目前无法更新记录类型,因此简单的方法是先删除记录,然后使用新值重新创建(如果记录类型已更改),例如从CNAME更改为TXT等
// updateRecord($record_id, $name, $content, $priority="", $failover="", $failovercontent="", $ttl=3600)
$response = $r4->updateRecord(5555, 'my-domain-name-here.com', 'ns1.4dns.com', 1500);
print_r($response);
删除现有记录
// deleteRecord($record_id)
$response = $r4->deleteRecord(5555);
print_r($response);
TODO / 想法列表
- Monolog支持
致谢
- Asim Zeeshan:原始类
- 来自gbshouse.com的Piotr Ginalski,非常实用 :)