artem-baranovskyi/dns-lookup

这个测试独立的Laravel库允许获取指定域名名的所有DNS记录。

1.0.3 2023-06-21 15:15 UTC

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库,您可以按照以下选项操作

  1. 使用DnsLookup作为外观,提供所需的输出格式
use ArtemBaranovskyi\DnsLookup\Facades\DnsLookupFacade;
...
    $domain = 'example.com';
    $dnsRecords = DnsLookupFacade::getDnsRecords($domain, 'array'); // use any from 'array', 'collection', 'json'
    dd($dnsRecords);
  1. 从服务容器获取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许可证授权。