obf/net-dns

Opsbears 框架网络 DNS 组件

这个包的官方仓库似乎已经不存在,因此该包已被冻结。

1.1.0 2016-04-04 16:12 UTC

This package is not auto-updated.

Last update: 2020-06-12 18:41:46 UTC


README

安装

使用 composer

要引入 net-dns 及所有依赖项,请运行

composer require obf/net-dns

手动

要手动安装所有依赖项,您需要以下 OBF 包

  • obf/classloader
  • obf/foundation
  • obf/net

要包含自动加载器,包含 autoload.php

使用方法

所有 DNS 函数都包含在 OBF\Net\DNS\DNS 类中。使用方法简单

<?php

use OBF\Net\DNS\DNS;

$records = DNS::lookup('example.com', DNS::TYPE_A);

请注意,DNS 查询可能会返回多个记录。如果您只想查找所有 IP 地址,可以使用 lookupIP() 函数

<?php
    
use OBF\Net\DNS\DNS;

$ipAddresses = DNS::lookupIP('example.com');

这将仍然给您一个 IP 地址列表。如果您想缩小范围,您也可以指定 IP 类型

<?php

use OBF\Net\DNS\DNS;

$ipv4Addresses = DNS::lookupIP('example.com', DNS::LOOKUP_IPV4);
$ipv6Addresses = DNS::lookupIP('example.com', DNS::LOOKUP_IPV6);

高级使用

在极不可能的情况下,如果您不想使用 DNS 包来隐藏内置的 PHP DNS 查询功能,但想创建自定义功能,可以使用 DNSLookup 类的非静态版本的 DNS 工具

<?php
    
use OBF\Net\DNS\DNS;

$lookup = new DNSLookup();

$ipAddress = $lookup->lookupIP('example.com');

请注意,DNSLookup 支持与 DNS 类相同的调用,但以非静态方式。如果您需要覆盖默认的查找适配器,可以通过实现基于 iDNSLookupAdapter 的自定义适配器来完成

<?php

class MyDNSLookupAdapter implements iDNSLookupAdapter {
    public static function lookup($name, $type = DNSRecord::TYPE_ANY) {
        // Do some magic here.
    }
}