gemz / dns
获取简单的DNS记录
1.0.0
2020-04-18 21:11 UTC
Requires
- php: ^7.1.3
- react/dns: ^1.2
- react/event-loop: ^1.1.1
Requires (Dev)
- mockery/mockery: ^1.0
- phpstan/phpstan: ^0.12.8
- phpunit/phpunit: ^8.2
- symfony/var-dumper: ^4.3|^5.0
This package is auto-updated.
Last update: 2024-09-19 06:39:00 UTC
README
检索给定域名的DNS记录。底层该包使用https://github.com/reactphp/reactphp进行并发DNS查询。
安装
您可以通过composer安装此包
composer require gemz/dns
用法
use Gemz\Dns\Dns; // initialization $dns = new Dns('gemz.io'); $dns = Dns::for('gemz.io'); // supported record types // returns ["A", "CAA", "CNAME", "SOA", "TXT", "MX", "AAAA", "SRV", "NS", "PTR", "SSHFP"] $dns = Dns::for('gemz.io')->allowedRecordTypes(); // get results for all record types $dns = Dns::for('gemz.io')->records(); // get result for specific record(s) $dns = Dns::for('gemz.io')->records(['A', 'CNAME']); $dns = Dns::for('gemz.io')->records('A', 'MX', 'TXT'); // using a nameserver $dns = Dns::for('gemz.io')->useNameServer('example.gemz.io')->records(); // sanitizing domain $domain = Dns::for('https://gemz.io')->getDomain(); // gemz.io // record type results $dns = Dns::for('gemz.io')->records('A', 'NS'); // depending on the record type "data" will be a string or an array with different keys // result is an array in form of: [ "A" => [ ["ttl" => 21599, "data" => "<ip>"] ], "NS" => [ ["ttl" => 21599, "data" => "<nameserver1>"], ["ttl" => 21599, "data" => "<nameserver2>"], ], "MX" => [ ["ttl" => 21599, "data" => ["priority" => 10, "target" => "<mx1>"]], ["ttl" => 21599, "data" => ["priority" => 20, "target" => "<mx2>"]], ] ];
测试
composer test
composer test-coverage
变更日志
请参阅CHANGELOG以获取有关最近更改的更多信息。
贡献
请参阅CONTRIBUTING以获取详细信息。
安全
如果您发现任何安全相关的问题,请通过电子邮件stefan@sriehl.com联系,而不是使用问题跟踪器。
致谢
支持我们
Gemz.io由Stefan Riehl维护。您可以在Gemz.io github上找到所有开源项目。
许可证
MIT许可证(MIT)。请参阅许可证文件以获取更多信息。