gbxyz / czds
此包的最新版本(dev-main)没有可用的许可证信息。
ICANN的集中化区域数据服务(CZDS)的PHP客户端
dev-main
2023-07-28 07:46 UTC
Requires
Requires (Dev)
- pestphp/pest: ^2.9
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; }