gbxyz/czds

此包的最新版本(dev-main)没有可用的许可证信息。

ICANN的集中化区域数据服务(CZDS)的PHP客户端

dev-main 2023-07-28 07:46 UTC

This package is auto-updated.

Last update: 2024-09-28 10:15:37 UTC


README

此存储库包含访问ICANN集中化区域数据服务(CZDS)的简单客户端库。

所有gTLDs(顶级域名,如.com或.org)都通过CZDS提供对其DNS区域文件的访问。

您需要在CZDS上创建用户帐户,并至少请求访问一个TLD,这样才会有用!

安装

使用composer将库作为依赖项添加到项目中

composer require gbxyz/czds

用法

使用Composer的自动加载功能将库加载到您的代码中

require_once 'vendor/autoload.php';

创建客户端对象

$client = new gbxyz\czds\client;

$client->login($username, $password);

CZDS API发布有效的24小时认证令牌。这些令牌被本地缓存,因此此方法每天只会进行一次HTTP往返。

获取可用区域文件列表

这会返回一个TLD数组

$zones = $client->getZones();

这将返回一个如['foo', 'bar']的数组。

将区域文件保存到磁盘

$client->saveZone($zone, '/tmp/zonefile.txt');

$zone应包含TLD名称的字符串,例如xyz

如果失败,将抛出异常。

获取区域文件的文件描述符

$fh = $client->getZoneHandle($zone);

echo stream_get_contents($fh);

获取区域文件的内容

$zone = $client->getZoneContents($zone);

echo $zone;

获取迭代器

这对于大型区域很有用。您不需要将整个区域加载到内存中,而是得到一个可以被迭代的对象,它返回的是Net_DNS2_RR_*类的实例对象。

$iterator = $client->getZoneRRs($zone);

foreach ($iterator as $rr) {
    printf("Owner name: %s, TTL: %u, type: %s\n", $rr->name, $rr->ttl, $rr->type);
    echo (string)$rr;
}