artem-baranovskyi / dns-lookup
这个测试独立的Laravel库允许获取指定域名名的所有DNS记录。
1.0.3
2023-06-21 15:15 UTC
Requires
- php: ^8.2
- laravel/framework: *
- monolog/monolog: ^3.0
Requires (Dev)
- phpunit/phpunit: ^9.0
This package is auto-updated.
Last update: 2024-09-22 08:08:27 UTC
README
DnsLookup库是一个PHP包,它提供了DNS查找功能。它允许您以各种输出格式检索给定域名的DNS记录。
需求与依赖
"php": "^8.2",
"monolog/monolog": "^3.0"
安装
您可以使用Composer安装此库。在您的项目目录中运行以下命令
composer require artem-baranovskyi/dns-lookup
然后,将包服务提供者添加到config/app.php中的自动加载
/* * Package Service Providers... */ DnsLookupServiceProvider::class,
还请在类别名部分添加包别名
'aliases' => Facade::defaultAliases()->merge([ 'DnsLookup' => ArtemBaranovskyi\DnsLookup\Facades\DnsLookupFacade::class, ])->toArray(),
用法
要使用DnsLookup库,您可以按照以下选项操作
- 使用DnsLookup作为外观,提供所需的输出格式
use ArtemBaranovskyi\DnsLookup\Facades\DnsLookupFacade; ... $domain = 'example.com'; $dnsRecords = DnsLookupFacade::getDnsRecords($domain, 'array'); // use any from 'array', 'collection', 'json' dd($dnsRecords);
- 从服务容器获取DnsLookup实例,提供所需的输出格式
use ArtemBaranovskyi\DnsLookup\Facades\DnsLookupFacade; $domain = 'example.com'; $dnsLookup = app(DnsLookup::class); $dnsRecords = $dnsLookup->getDnsRecords($domain, 'array'); // use any from 'array', 'collection', 'json' dd($dnsRecords);
支持的输出格式
getDnsRecords方法接受一个格式参数,该参数确定DNS记录的输出格式。以下格式受支持
array: Returns an array of DNS records (default format)
collection: Returns a DnsRecordCollection object containing the DNS records.
json: Returns a JSON-encoded string of the DNS records.
错误处理
如果在DNS查找过程中发生错误,将抛出一个包含错误信息的异常。建议将getDnsRecords调用包裹在try-catch块中,以处理任何潜在异常
try { $dnsRecords = $dnsLookup->getDnsRecords($domain, $format); // Use the DNS records } catch (Exception $e) { echo "An error occurred: " . $e->getMessage(); }
贡献
欢迎对DnsLookup库的贡献!如果您遇到任何问题或有改进建议,请打开一个问题或提交一个GitHub上的拉取请求。
许可证
此库是开源的,并使用MIT许可证授权。